Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 反应导航状态重置_Reactjs_React Navigation_React Navigation V5_React Navigation Stack_React Native Web - Fatal编程技术网

Reactjs 反应导航状态重置

Reactjs 反应导航状态重置,reactjs,react-navigation,react-navigation-v5,react-navigation-stack,react-native-web,Reactjs,React Navigation,React Navigation V5,React Navigation Stack,React Native Web,当我在web上刷新页面时,导航状态将丢失,因此无法返回。我想做的是,如果我刷新页面,导航状态不会丢失。我尝试的是按照以下文档将状态持久化到本地存储: useEffect(() => { /** * Get and sets the persisted navigation state so * the user is immediately returned to the same location after the app is restarted.

当我在web上刷新页面时,导航状态将丢失,因此无法返回。我想做的是,如果我刷新页面,导航状态不会丢失。我尝试的是按照以下文档将状态持久化到本地存储:

useEffect(() => {
    /**
     * Get and sets the persisted navigation state so
     *  the user is immediately returned to the same location after the app is restarted.
     */
    const restoreState = async (): Promise<void> => {
      try {
        const initialUrl = await Linking.getInitialURL();

        if (initialUrl == null) {
          const savedStateString = await AsyncStorage.getItem(PERSISTENCE_KEY);

          const state = savedStateString
            ? JSON.parse(savedStateString)
            : undefined;

          if (state !== undefined) {
            setInitialState(state);
          }
        }
      } finally {
        setIsReady(true);
      }
    };
    if (!isReady) {
      restoreState();
    }
  }, [isReady]);
useffect(()=>{
/**
*获取并设置持久化导航状态,以便
*应用程序重新启动后,用户会立即返回到同一位置。
*/
const restoreState=async():Promise=>{
试一试{
const initialUrl=await Linking.getInitialURL();
if(initialUrl==null){
const savedStateString=await AsyncStorage.getItem(持久性密钥);
const state=savedStateString
?JSON.parse(savedStateString)
:未定义;
如果(状态!==未定义){
setInitialState(状态);
}
}
}最后{
setIsReady(真);
}
};
如果(!isReady){
恢复不动产();
}
},[isReady]);
这就是我的容器的外观:

        <NavigationContainer
          linking={linking}
          theme={true ? navigationTheme.light : navigationTheme.dark}
          initialState={initialState}
          onStateChange={(state) => state && handleNavigationChange(state)}
          ref={navigation}>
state&&handleNavigationChange(state)}
ref={navigation}>
consthandlenavigationchange=async(状态:NavigationState):Promise=>{
等待AsyncStorage.setItem(PERSISTENCE_KEY,JSON.stringify(state));
};

在本地存储中保存状态后,您面临的问题是什么?@Srishti刷新页面时导航状态丢失,但导航状态确实在本地存储中保存
  const handleNavigationChange = async (state: NavigationState): Promise<void> => {
    await AsyncStorage.setItem(PERSISTENCE_KEY, JSON.stringify(state));
  };