IntialParams на экране навигатора вкладок не определен (реагирует навигация v5) - PullRequest
0 голосов
/ 25 марта 2020

Я пытаюсь передать начальную опору Парама на экран TabNavigator. Он предназначен для входа в систему локального государства, просто делая доказательство концепции. Он отлично работает с экраном стекового навигатора, но route.params на экране вкладок не определен. Что я делаю не так?

Кроме того, я почти уверен, что это должно измениться, насколько это возможно для управления состоянием, но я хотел убедиться, что могу просто изменить состояние в родительском App и иметь эффект. Он работает на экране стека, что означает, что я могу позвонить setLoggedIn(true) и перенесет меня в навигатор вкладок. Но я не могу go вернуться ...

const Track = () => {
  return (
    <TrackStack.Navigator>
      <TrackStack.Screen
        name='TrackListScreen'
        component={TrackListScreen}
      />
      <TrackStack.Screen
        name='TrackDetailScreen'
        component={TrackDetailScreen}
      />
    </TrackStack.Navigator>
  );
};

const App = () => {
  const [loggedIn, setLoggedIn] = useState(false);

  return (
    <NavigationContainer>
      {loggedIn ? //is logged in 
        (
          <MainTab.Navigator>
            <MainTab.Screen
              name='TrackCreateScreen'
              component={TrackCreateScreen}
              initialParams={{ setLoggedIn }}
            />
            <MainTab.Screen
              name='AccountScreen'
              component={AccountScreen}
            />
            <MainTab.Screen
              name='Track'
              component={Track}
            />
          </MainTab.Navigator>
        ) : (
          <LoginStack.Navigator>
            <LoginStack.Screen
              name='SignupScreen'
              component={SignupScreen}
              initialParams={{ setLoggedIn }}
            />
            <LoginStack.Screen
              name='SigninScreen'
              component={SigninScreen}
            />
          </LoginStack.Navigator>
        )}
    </NavigationContainer>
  );
};

export default App;
...