我在使用标签导航器时遇到了一些麻烦。我在此标签导航器中有3个标签。
我有一个组件,可以根据条件导航到这三个路径之一,并传递一些参数。
但是,当我切换到另一个选项卡时,我传递的参数应该与此选项卡共享。
例如,我有这个:
tabNavigator = createMaterialBottomTabNavigator(
TabNumber1,
TabNumber2,
TabNumber3
);
在其他组件中,我做这样的事情:
navigation.navigate('TabNumber1', myParams);
将我带到那里并且工作正常,但是当我转到TabNumber2时,导航是由Tab导航器处理的,因此我无法传递当前路线的参数。
有什么办法吗?
您可以使用redux。将数据存储在redux中,并在每个选项卡屏幕上访问数据。
此集合将传递到用户导航的路径,在这种情况下,它将成为轻敲路径,而不是该路径中的屏幕之一。导入从这些屏幕之一传递到Tab导航器的参数
this.props.navigation.dangerouslyGetParent().getParam('setParamNameKey')
与此相关的讨论:What should happen when passing params to a navigator route?