这是我在 StackOverflow 上的第一篇文章,如果我没有遵循正确的格式,我深表歉意。
我正在构建我的第一个应用程序,tab navigator from React Navigation v 5.x
并且在将props从一个屏幕传递到另一个屏幕时遇到了一个大问题
我想要实现的是:
- 在我的一个屏幕中更改数据列表。
- 让这些更改影响另一个屏幕上发生的事情。
我已经尝试过这个(我没有设置要传递的props),这个(react-navigation 的弃用版本)和这个(react-navigation 的旧版本)。
和 Redux,但当前版本的 React 导航没有可用的示例。
我已经对此束手无策了,真的需要逐步了解如何实现这一目标。这是我想要做的粗略草图:
我想到的方法是通过回调将父状态作为props发送下来,但是我找不到通过最新版本的react导航中的屏幕组件发送props的方法......
这是我的导航设置:
const Tab = createBottomTabNavigator()
export default class MyApp extends Component{
constructor(props) {
super(props);
}
render(){
return (
<NavigationContainer>
<Tab.Navigator
screenOptions={({ route }) => ({
tabBarIcon: ({ focused, color, size }) => {
let iconName;
if (route.name === 'My tests') {
iconName = focused ? 'ios-list-box' : 'ios-list';
} else if (route.name === 'Testroom') {
iconName = focused ? 'ios-body' : 'ios-body';
}
return <Ionicons name={iconName} size={size} color={color} />;
},
})}
tabBarOptions={{
activeTintColor: 'tomato',
inactiveTintColor: 'gray',
}}>
<Tab.Screen name="My tests" component={MyTests}/> //This is where I want to send props
<Tab.Screen name="Testroom" component={TestRoom} /> //This is where I want to send props
</Tab.Navigator>
</NavigationContainer>
)
}
}
我读过这个,但对我来说没有意义。这如何适合组件树?什么去哪里?请帮忙!