使用Flow键入动态嵌套对象

时间:2018-08-29 21:03:35

标签: javascript reactjs flowtype

我正在使用Flow在React项目中类型化检查我的道具。通过HOC传递的副本已在许多组件中使用。我想知道是否有一种方法可以使用Flow定义原型,从而允许我递归地检查嵌套对象的值是另一个对象还是字符串。

到目前为止,我尝试过的工作在Flow repl here中有效,但是在我的项目中,我收到以下Flow错误:

property 'content' is missing in 'String' property 'errorPage' is missing in 'String'

复制示例

const content = {
  pages: {
    errorPage: {
      title: 10,          // Should Fail (number)
      message: "Message", // Should Pass (string)
    },
    main: {
      title: "Welcome",   // Pass
      button: "Login",    // Pass
  },
};

流程示例

type SupportedContentValues = string;
type SupportedContentObject = { [key: string]: SupportedContentValues | SupportedContentObject };
type ContentType = SupportedContentObject;

0 个答案:

没有答案