response-router - перенаправление частной страницы на страницу входа не работает - PullRequest
0 голосов
/ 24 февраля 2019

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

Я сделал простой песочницей , которая демонстрирует то, что я делал раньше.как вы можете видеть в моем route.js, у меня есть:

const Routes = ({ location }) => (
  <Switch location={location}>
    {menuData.map(page => {
      return page.private ? (
        <PrivateRoute {...page} key={page.path} />
      ) : (
        <PublicRoute {...page} key={page.path} />
      );
    })}
    <Redirect to="/private" />
  </Switch>
);

, который всегда запускает последний <Redirect /> компонент, и я не знаю почему?

попытаться изменить это <Redirect to="/login" /> или <Redirect to="/public" />.

любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 24 февраля 2019

Переадресация pathname должна храниться отдельно от поискового запроса, если вы передаете объект Redirect.

 <Redirect
        to={{
          pathname: `/login`,
          search: `?returnURL=${path}`
        }}
  />

Или вы могли бы просто иметь

<Redirect
        to={`/login?returnURL=${path}`}
/>

Рабочая демонстрация

...