React Router Native (4.3.0) Приложение для разрыва URL-адресов - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть проект 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 не изменяется при передаче в базовый компонент.

Любая помощь будет грандиозной!

Приветствия

1 Ответ

0 голосов
/ 18 сентября 2018

Я думаю, что компонент Route имеет опечатку: дополнительная extract проп.

<Route exact path="/report/:id" component={Report}/>
...