【发布时间】:2017-07-16 20:48:36
【问题描述】:
我的 React 组件中正在进行这种初始化:
export default class LoginForm extends Component {
state = { // (*)
flash: {
message: null,
style: null
} // initialiser for flash message: show nothing
}
showError(error_message: string) {
this.setState({
flash: {
message: error_message,
style: "danger"
})
}
不幸的是,flow 将 state 对象的 flash 属性的初始化视为类型声明,并在随后的 setState() 中将 flash 属性值的新声明标记为类型不匹配(“字符串与 null 不兼容”)。
我怎样才能告诉 flow 这里实际发生了什么,从而避免它报告错误?
(*) 注意:我最初在这一行中错误地使用了 : 而不是 = ...@DanPrince 更正了这一点。
【问题讨论】:
标签: javascript reactjs flowtype