Реагируйте на HashRouter, не отображая другие пути, а только отображая корневой компонент '/' - PullRequest
0 голосов
/ 19 сентября 2018

Мои настройки:

rout.js

const Router = () => (
  <Switch>
    <Route path="/" component={ Dashboard } />
    <Route path="/somepath" component={ SomePath } />
  </Switch>
);

index.js

<HashRouter>
  <App />
</HashRouter>

app.js:

lass App extends Component {
  render() {
    return (
      <div className="main-app">
        <Header />
        <div className="page__container">
          <Router />
        </div>
        <Footer />
      </div>
    );
  }
}

Проблема в том, что при переходе к localhost/#/ rootpath корректно отображается компонент Dashboard, как указано в файле routes.js.Но когда я перемещаюсь к localhost/#/somepath, это не рендеринг компонента для somepath, это все равно рендеринг / Component.

Даже в React Devtool отображается <Route path="/"> загружено, а не <Route path="/somepath">

1 Ответ

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

Возможно, вам придется добавить exact, чтобы соответствовать пути.добавьте exact реквизит к Route

<Route exact path="/somepath" component={ SomePath } />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...