当我使用 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"}} />
我正在使用 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"}} />