Как мне экспортировать и использовать функцию, созданную внутри App.js в react native

#reactjs #react-native #react-navigation

#reactjs #react-native #реагировать-навигация

Вопрос:

Я создал перехват, который содержит состояние аутентификации пользователя. Когда пользователь вошел в систему, я хочу обновить это состояние, я создал функцию внутри App.js , как мне использовать эту функцию на моем экране входа в систему, чтобы обновить перехват, а затем отправить пользователя на главный экран.

Мне нужно использовать updateAuth внутри моего экрана входа в систему и передать ему true, как это сделать

 export default function App() {
  const [isAuthenticated, setIsAuthenticated] = useState(false);
  AsyncStorage.getItem("auth").then((val) =>
    val == "true" ? setIsAuthenticated(true) : setIsAuthenticated(false)
  );

  function updateAuth(value) {
    value ? setIsAuthenticated(value) : null;
  }

    return isAuthenticated ? (
      <NavigationContainer>
        <Stack.Navigator headerMode="none" initialRouteName="Home">
          <Stack.Screen name="Home" component={Home} />
          <Stack.Screen name="Product" component={Product} />
          <Stack.Screen name="Orders" component={Orders} />
        </Stack.Navigator>
      </NavigationContainer>
    ) : (
      <NavigationContainer>
        <Stack.Navigator headerMode="none">
          <Stack.Screen name="Welcome" component={Welcome} />
          <Stack.Screen name="Login" component={Login} />
          <Stack.Screen name="Signup" component={Signup} />
        </Stack.Navigator>
      </NavigationContainer>
    );
  
  1. Элемент списка

    }

Ответ №1:

Используйте initialParams prop.

Документация

 <Stack.Screen name="Login" component={Login} initalParams={{isAuthenticated}} />