2017-05-12 21 views
0

を考えてみましょうrenderメソッドでコンポーネントに小道具を渡していると考え、以下:フロータイプは、誤って、私は

property 'to'
Property not found in props of React element 'Page404'

なぜ私は「だと思う流れない:

render(): ?React.Element<*> { 
    if (this.state.error) { 
    if (redirect) return <Redirect to={redirect} />; 
    return <Page404 />; 
    } 
    ... 
} 

流れは私にエラーを与えています渡しPage404to小道?どうすれば修正できますか?

+0

@AndrewLi、ちょっと、更新が完了しました – maxedison

答えて

1

?React.Element<*>を返すので、Flowは*を、すべての可能な戻り値を満たすいくつかの型パラメータに置き換えなければなりません。この場合、そのタイプのパラメータの1つはPropsです - したがって、Page404Redirectの両方に一致するタイプを見つける必要があります。一致するPropがないため、Flowはこれを実行できません。

単純な解決方法は、戻り値の型を?React.Element<any>に変更することです。呼び出し元は、特定の要素が何であるかを気にすることはめったにないので、実際にはReact要素が必要なだけで、この場合はanyを使用して安全性を失うことはありません。

関連する問題