当我使用TabNavigator时,将不同的参数传递给每个屏幕(react-navigation)

时间:2017-12-12 17:52:59

标签: react-native react-navigation

我正在使用React Native和react-navigation制作应用程序。

我正在寻找一种方法将不同的参数传递给每个屏幕。每个屏幕都是同一个类。 应该有一种方法来存档它,但到目前为止我找不到,

除了声明两个不同的包装类并传递screenProps外,它似乎很疯狂。

const Tab = TabNavigator(
{
    main:{screen:TodoList}, //pass "abc" for this screen
    main2:{screen:TodoList} //pass "def" for this screen
}

1 个答案:

答案 0 :(得分:2)

如果您有自定义道具,请使用其他签名:

const Tab = TabNavigator(
{
    main:{ screen: (props) => <TodoList {...props } myProp="abc" />}, //pass "abc" for this screen
    main2:{ screen: (props) => <TodoList {...props } myProp="def" />} //pass "def" for this screen
}

如果你已经分享了#34; prop&#34;在所有屏幕中都很常见,您可以在启动screenProps itslef时通过Tab传递它。

<Tab screenProps={{myCommonProp: "ghijkl"}} />