使用保存在redux中的数据创建一个标签导航器(react-navigator)

时间:2019-08-20 18:13:32

标签: react-native react-navigation expo

我正在尝试使用createMaterialTopTabNavigator在React Native应用程序中创建一个标签导航器,但是我需要由要保存在redux中的变量定义标签的数量。我不知道会有多少选项卡,因为用户定义了。 redux变量是一个数组,因此每个数组对象应为一个选项卡。我该怎么办?

现在知道我的组件中有两个选项卡,下面是代码。正如我所说,我需要更改它以使其依赖于redux变量(该数组中的每个对象都有一些必须传递给子组件的信息)。

非常感谢你们!

const ProfileNavigator = createMaterialTopTabNavigator({
   Screen1: {
        screen: props => <ScreenHolder screenProps={props.screenProps}  />,
        navigationOptions: {title: "Screen1"}
    },
    Screen2: {
        screen: props => <ScreenHolder screenProps={props.screenProps}/>,
       navigationOptions: {title: "Screen2"}
    }
    },{
        tabBarPosition: 'top',
        swipeEnabled: true,
        animationEnabled: true,
})
export default createAppContainer(ProfileNavigator);

1 个答案:

答案 0 :(得分:0)

您可以使用redux状态将存储导入到标签导航器文件中:

import { store } from './src/store/index'

然后您可以使用:

store.getState();

尽管我这样说,但我经常发现自己避免在react组件生命周期之外使用store,甚至不使用props或随时间变化直接定义导航参数。

我虽然使用导航setParams。