私はリアクトコンポーネントで起こって初期化のこの種がありますフローハンドルの反応コンポーネントの状態イニシャライザを支援するには?
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"
})
}
は残念ながら、フローは型宣言として、その後のsetState()
そのフラグにstate
オブジェクトのflash
プロパティの初期化を処理しているがflash
プロパティの値の型の不一致( "文字列はnullと互換性がありません")として新たに宣言されました。
ここで実際に何が起こっているのかをフローに伝えるにはどうすればエラーを報告しないようにすることができますか?
(*)注:私はもともと誤って代わりに=
のこの行の:
が... @DanPrinceはそれを修正しました。
これはまさに私が意図したものです( '=' not ':')。しかし、不思議なことに、これは問題を解決しません。どちらの方法でも、文字列とnullの間の不一致についてフローが文句を言う!それを考えてみると、どうしてフローが接続を行っているのかはまったく分かりません。setState()の引数が 'state'で設定されているのと同じオブジェクトであることがどうして分かりません= ... ' – GreenAsJade