Как передать объект состояния на экран в React Native? - PullRequest
0 голосов
/ 01 мая 2020

** Я хочу передать объект setScreen на экран регистрации, пожалуйста, скажите мне, как я могу передать его, чтобы я мог изменить состояние экрана с экрана регистрации **

import React, { useState } from 'react';
import 'react-native-gesture-handler';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';

import AccountScreen from './src/screens/AccountScreen';
import SigninScreen from './src/screens/SigninScreen';
import SignupScreen from './src/screens/SignupScreen';
import TrackCreateScreen from './src/screens/TrackCreateScreen';
import TrackDetailScreen from './src/screens/TrackDetailScreen';
import TrackListScreen from './src/screens/TrackListScreen';

const Stack = createStackNavigator();
const TrackStack = createStackNavigator();
const Tab = createBottomTabNavigator();

const TrackScreenStack = () => {
  return (
    <TrackStack.Navigator initialRouteName="TrackList">
      <TrackStack.Screen
        name="TrackList"
        component={TrackListScreen}
      />
      <TrackStack.Screen
        name="TrackDetail"
        component={TrackDetailScreen}
      />
    </TrackStack.Navigator>
  )
}

** здесь я объявил объект состояния и я sh, чтобы передать его на экране регистрации, чтобы я мог переключаться между стеками экрана **

const App = () => {
  const [screen, setScreen] = useState(true);
  return (
    <NavigationContainer>
      {screen ? (
        <Stack.Navigator initialRouteName="Signup">
          <Stack.Screen
            name="Signup"
            component={SignupScreen}
          />
          <Stack.Screen
            name="Signin"
            component={SigninScreen}
          />
        </Stack.Navigator>
      ) :
        <Tab.Navigator>
          <Tab.Screen
            name="Track"
            component={TrackScreenStack}
          />
          <Tab.Screen
            name="Account"
            component={AccountScreen}
          />
          <Tab.Screen
            name="TrackCreate"
            component={TrackCreateScreen}
          />
        </Tab.Navigator>
      }
    </NavigationContainer>
  )
}

export default App;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...