当我使用 TabNavigator(反应导航)时,将不同的参数传递给每个屏幕

Pass different parameter to each screen when I use TabNavigator (react-navigation)

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

我正在寻找一种将不同参数传递给每个屏幕的方法。每个屏幕都相同 class。 应该有存档的方法,但我至今没找到,

除了分别声明两个不同的包装器 class 并传递 screenProps,但这看起来很疯狂。

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

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

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
}

如果您共享了"prop" common all screens,您可以在启动Tab itslef 时通过screenProps 传递它。

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