无法设置流类型以反应状态

时间:2017-04-26 03:12:40

标签: reactjs flowtype

我根据这个答案创建了一个反应组件并设置了流程类型:Flow (React Native) is giving me errors for using 'this.state'。但它仍然会出错:object literal this type is incompatible with object type

我的代码:

class Login extends Component {
  constructor(props) {
    super(props);

    this.state = {
      email: ''
    };
  }

  state: {
    email: String;
  };
}

知道发生了什么事吗?

1 个答案:

答案 0 :(得分:3)

您必须使用string代替StringThey are not the same

  

请记住,字符串和字符串是不同的类型。

     

字符串是一个字面值,如" foo"或表达的结果   喜欢"" + 42.

     

String是全局创建的包装器对象   String(x)构造函数。

state: {
    email: String;
};

应该是

state: {
    email: string;
};

所以你的组件看起来应该是这样的

class Login extends Component {
  state: {
    email: string;
  };

  constructor(props) {
    super(props);

    this.state = {
      email: ''
    };
  }  
}