React Router path var и другие пути, React не может отличить - PullRequest
0 голосов
/ 05 мая 2020

Я настраиваю реагирующий маршрутизатор для другой ссылки в моем проекте, но проблема в том, что мне нужен реагирующий маршрутизатор, чтобы определить разницу между переменной имени пользователя и другими путями.

Например: baseUrl / admin baseUrl / daniel

React не знает разницы. У меня будет список имен пользователей в базе данных, и я верну ошибку, если пользователь не существует, это означает, что страница не существует.

Это мой код:

class App extends Component{
  render(){
    return (
      <Router>
        <Route exact path="/" render={props => (
          <React.Fragment>
            <h1>Hey</h1>
          </React.Fragment>
        )}
        />

        <Route exact path="/admin" render={props => (
          <React.Fragment>
            <h1>admin</h1>
          </React.Fragment>
        )}
        />

        <Route path="/:user" component={UserComponent}
        />
      </Router>
    );
  }
}

1 Ответ

1 голос
/ 05 мая 2020

Вы можете использовать свойство match.url, чтобы выбрать, какой компонент визуализировать, например:

    <Route path="/:user" render={props => {
      if(props.match.url === '/admin') {
        return (
          <React.Fragment>
            <h1>Hey</h1>
          </React.Fragment>
        )
      } else return (<UserComponent {...props} />)
    }} />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...