Это мой первый пост на SO, поэтому прошу прощения, если я не соблюдаю правильный формат. Я создаю свое первое приложение и столкнулся с большой проблемой. Он построен с помощью навигатора вкладок из React Navigation v 5.x.
Я хочу достичь:
- Внести изменения в список данных на одном из моих экранов.
- Эти изменения влияют на то, что происходит на другом экране.
Я пробовал это https://reactnavigation.org/docs/hello-react-navigation/#passing -additional-props (Я не могу установить реквизиты на пройти вниз)
и это React Native - передать реквизит с одного экрана на другой экран (с помощью навигатора по вкладкам) (устаревшая версия реагирования-навигации)
и это { ссылка } (также старая версия реакции-навигации)
и Redux, но нет доступных примеров с текущей версией реакции навигации.
Я в конце моей веревки с этим и действительно нужно немного шаг за шагом, как этого добиться. Вот примерный набросок того, что я хочу сделать: https://i.stack.imgur.com/rbSCL.png
То, как я думал об этом, - отправка родительского состояния в виде реквизита посредством обратного вызова, но я не могу найти способ отправки реквизита через компоненты экрана в современной версии реагирующей навигации ...
Это мои настройки навигации:
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>
Я прочитал это https://reactnavigation.org/docs/redux-integration но это не имеет смысла для меня. Как это вписывается в дерево компонентов? Что идет куда? Пожалуйста, помогите!