ReactNative - 在 tabNavigator

问题描述

我在 stackNavigator 中有一个选项卡导航器。我将一个参数(比如 stackParam)从父堆栈传递到这个堆栈,并且我确实设法在所有选项卡之间共享 stackParam。在某些选项卡中,我获取了 JSON 文件并计算了一些数据,我也希望在这些屏幕之间共享这些数据,因为其中一个选项卡必须收集所有计算出的数据并得出一个摘要

这是我使用 setParam 的尝试:

//tab for fetch & calculation

export default function stats({route,navigation}) {

    const {stackParam} = route.params //param from the parent stack
    const [isLoading,setLoader] = useState(true)
    const calculatedData = []

    const fetching = async() => {

        ...//code fetching & processing JSON file

        calculatedData = [1,2,3,4] //example of data
        navigation.setParam(data: calculatedData)
        setLoader(false)
    }

    useEffect(() => {
        fetching()
    },[]);

    return (
        //contents of current screen
    )

}

摘要标签

export default function summary({route,navigation}) {
    const {stackParam,data} = route.params
    console.log(stackParam,data)
    return (
        <Text> summary screen </text> 
    )
}

摘要选项卡中的 console.log 显示了 stackParam 的正确结果,但显示undefined 数据。我的代码出了什么问题?或者有没有其他方法可以让我在屏幕之间导航时更新参数?

任何帮助将不胜感激!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...