【问题标题】:React navigation V5 on goback update parent在返回更新父级上反应导航 V5
【发布时间】:2020-06-14 07:15:10
【问题描述】:

我正在开发 React 本机 Expo 应用程序并使用 Hooks 开发 React 导航版本 5。如何更新 goBack() 上的状态?

屏幕一

const fetchData = async (props) => {
        //http request
    }
    useEffect(() => {
        fetchData(props);
    }, [props]);

return(
<View>
<TouchableOpacity onPress={() => props.navigation.navigate('Settings',{onGoBack, () => fetchData(props)})}>
</TouchableOpacity
</View>
)

屏幕二

const submit = () => {
props.navigation.route.params.onGoBack();
props.navigation.goBack();
}

收到警告

在导航状态中发现了不可序列化的值,这可能会破坏持久化和恢复状态等使用。如果您在参数中传递了不可序列化的值(例如函数、类实例等),则可能会发生这种情况。如果您需要在选项中使用带有回调的组件,则可以改用“navigation.setOptions”。详情请见https://reactnavigation.org/docs/troubleshooting#i-get-the-warning-non-serializable-values-were-found-in-the-navigation-state

【问题讨论】:

    标签: react-native expo react-navigation


    【解决方案1】:

    您可以使用props.navigation.navigate 而不是props.navigation.goBack 将参数传递到上一个屏幕。 看这个文档

    Troubleshooting

    Passing parameters to routes

    【讨论】:

      猜你喜欢
      • 2020-10-12
      • 1970-01-01
      • 2018-05-21
      • 1970-01-01
      • 2017-10-28
      • 1970-01-01
      • 2020-08-01
      • 1970-01-01
      • 2020-06-12
      相关资源
      最近更新 更多