我想实现像下面这样的东西,但这是不可能的,因为堆栈导航器只接受Stack.Screens作为子对象。
<Stack.Navigator>
<Provider1>
<Stack.Screen name="screen1" component={Screen1} />
<Stack.Screen name="screen2" component={Screen2} />
</Provider1>
<Provider2>
<Stack.Screen name="screen3" component={Screen3} />
<Stack.Screen name="screen4" component={Screen4} />
</Provider2>
</Stack.Navigator/>
字符串
我知道我可以通过用堆栈导航器 Package 屏幕来实现这一点,如下所示:
const stackNav1 = <Provider1>
<Stack.Navigator>
<Stack.Screen name="screen1" component={Screen1} />
<Stack.Screen name="screen2" component={Screen2} />
</Stack.Navigator>
</Provider1>
const stackNav2 = <Provider2>
<Stack.Navigator>
<Stack.Screen name="screen3" component={Screen3} />
<Stack.Screen name="screen4" component={Screen4} />
</Stack.Navigator>
</Provider2>
...
<Stack.Navigator>
<Stack.Screen name="stack1" component={stackNav1} />
<Stack.Screen name="stack2" component={stackNav2} />
</Stack.Navigator/>
型
有没有更简单的方法,不用定义新的导航器?
2条答案
按热度按时间wmtdaxz31#
我最终所做的只是在全局范围内定义上下文,然后通过基于使用上下文的钩子中的某些条件抛出错误来限制访问。
例如:
字符串
mzaanser2#
试试这个,我可能错了
字符串