首页 > 解决方案 > 反应导航不止一个嵌套

问题描述

我有这个结构:

我遇到的问题是我无法从孩子 2 导航到孙子 1。它抛出

TypeError:navigation.navigate 不是函数

或者

undefined 不是一个对象(评估'props.navigation.navigate')

我有一个这样的堆栈导航器:

<Stack.Navigator>
    <Stack.Screen name="Main" />
    <Stack.Screen name="Child2" />
    <Stack.Screen name="Grandchild" />
</Stack.Navigator>

我可以从 Main 转到 Child2,是否必须创建一个新 Stack 才能进行更深的嵌套?

标签: react-nativereact-navigation

解决方案


我在错误的地方使用了 navigation.navigate

它应该在组件中使用

<Child onPress={() => navigation.navigate('Grandchild');} />

然后在组件 Touchable 内部做:

<Touchable onPress={props.onPress}>
...
</Touchable>

推荐阅读