0
ユーザーが認証されていない場合、子をマウントしないラッパーを作成しようとしています。それ以外の場合は、子コンポーネントをマウントしてレンダリングします。 は、およそ次のようになります。子コンポーネントの前にラッパーコンポーネントをマウントするにはどうすればよいですか?
export class RedirectOnCondition extends Component {
render(){
return this.props.isAuthenticated? this.props.children : null
}
}
私の問題は、親が条件を評価する機会を持つ前に、子供がまだマウントです。子のcomponentWillMount`(およびそれに関連するすべてのAPI呼び出しが起動し失敗した)の後でのみ、親のレンダリングが子をキックして削除します。 this questionによると、これはReactの仕組みです。
どうすればこの問題を回避できますか?
親はどのように条件を評価しますか?条件の初期値をfalseのままにして、ユーザーが認証された場合はtrueにすることができます。 –
条件はview redux connectに渡され、正しく評価されていますが、私の問題は、親がレンダリングされる前に子がマウントされるということです。親が最初にレンダーされるようにしたい –
RedirectOnCondition HOCをどのように実際に使用しているか、this.props.isAuthenticatedの仕組みについての詳細が必要です –