reduxストアでナビゲーション状態を取得しようとしました。私は近くにいますが、このエラーが何を意味するかを理解しようとしている: 例外TypeError:未定義のオブジェクトではありません(「nextState.routes.forEach」を評価)React-Navigationネストされたナビゲータを持つRedux:TypeError:未定義はオブジェクトではありません( 'nextState.routes.forEach'を評価しています)...
ナビゲーションルートにauthcheckはにどのようなナビゲーション状態を決定する関数をレンダリングがありますつかいます。正しいものが選択されますが、それを使用しようとすると、私は上記のエラーにぶつかります。
AppNavigatorの内部には、2つの異なるナビゲーションルートがあります。
-AppNavigator
--SignedInNavigator
---TabBar
--SignedOutNavigator
---StackNavigator
これはエラーが発生したときに使用されるナビゲーションオブジェクトです。
[exp] Object {
[exp] "index": 0,
[exp] "routes": Array [
[exp] Object {
[exp] "action": Object {
[exp] "routeName": "Home",
[exp] "type": "Navigation/NAVIGATE",
[exp] },
[exp] "key": "Init-id-1513449605995-1",
[exp] "routeName": "SignedOut",
[exp] "type": undefined,
[exp] },
[exp] ],
[exp] }
render() {
const { navigationState, dispatch, isLoggedIn } = this.props;
const state = isLoggedIn ? navigationState.stateForLoggedIn : navigationState.stateForLoggedOut;
return (
<AppNavigator navigation={addNavigationHelpers({ dispatch, state })} />
);
}
必要に応じて還元剤などのコードを追加することができます。なぜなら、減速機が今私が期待している情報を与えているからですが、明らかにそれはうまく消化されていないからです。どんな助けもありがとうございます。ありがとう!
は、今の私の変更をシェルビング終わっています。私の主な問題は、私はトップのスタックナビゲータに行く2つの異なるナビゲータがあるということだと思う。私はナビゲーションツリーが期待どおりに構築されているとは思わない。私はすべての画面をトップレベルのstacknavigatorに置くと動作しますが、ユーザを認証して画面ナビゲータを別に保つことに問題があります。私は、私が望む機能を得るために構造をもっと変えなければならないと思う。 – Runner5