У меня есть проект React Native, в котором я использую собственную версию response-router 4.3.0.
<Provider store={store}>
<NativeRouter>
<Base user={this.state.user} >
<View style={styles.container}>
<Route exact path="/" component={Splashstart}/>
<Route exact path="/profile" component={Profile}/>
<Route exact path="/report/:id" component={Report}/>
</View>
</Base>
</NativeRouter>
</Provider>
Я завернул свое приложение в базовый компонент, который в основном решает, нужно ли ему показывать навигацию или нет, если есть пользователь.
render() {
if(this.props.user) {
return (
<SafeAreaView style={styles.container}>
<View style={styles.content}>
{this.props.children}
</View>
<Nav />
</SafeAreaView>
);
} else {
return (
<View style={styles.container}>
<View style={styles.content}>
{this.props.children}
</View>
</View>
);
}
}
Когда я нажимаю «Маршрут отчета», навигация становится бесполезной, и я застреваю на странице. Кажется, что я разбил мои маршруты.
Это может быть любой маршрут, если у него есть параметр в URL (: id). Я попытался отрисовать только часть текста, и это все еще произошло, поэтому я не думаю, что это что-то на странице.
Мой <Nav />
компонент в базе рендерится при каждом обновлении страницы, как и база, я ожидаю, что база также будет изменяться при изменении дочерних элементов, но разве не должен оставаться Нав?
this.state.user не изменяется при передаче в базовый компонент.
Любая помощь будет грандиозной!
Приветствия