Невозможно перенаправить ссылку для сброса пароля без регистрации - PullRequest
0 голосов
/ 15 января 2020

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

Я использую React Router и хочу, чтобы кто-нибудь смог щелкнуть ссылку в электронном письме, которая переведет его на

http://localhost: 3001 / auth / забыл8b8dc686ee38320f7f5dd7b858e62a402cd2f0bb # /

Это то, как я ссылаюсь на ссылку в маршрутизаторе реакции

`  {
    path: "/forgot",
    component: loadable(() => import("./layout/forgot/forgot")),
    pure: false,
    exact: true
  },`

`<ConnectedRouter history={history}>
        <IndexLayout>
          <Switch>
            <Route exact path='/forgot' component={Forgot} />
            <Route exact path="/" render={() => <Redirect to="/foo/all" />} />
            {routes.map(route => (
              <Route
                path={route.path}
                component={route.component}
                key={route.path}
                exact={route.exact}
              />
            ))}
            <Route component={NotFound404} />
          </Switch>
          <ToastContainer autoClose={8000} hideProgressBar={true} />
        </IndexLayout>
      </ConnectedRouter>`

Если я не вошел в систему выше, просто перенаправляет меня на мою домашнюю страницу и Я даже не могу видеть, что URL вызывается в консоли, однако, если я вошел в систему, я вижу, что этот компонент отображается на моей инструментальной панели (я не хочу, чтобы он отображался внутри моей инструментальной панели, я хочу, чтобы он был страницей без вошедшие в систему пользователи могут использовать для сброса своего пароля, аналогичного моей домашней странице)

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

Мой забыл страница с полем Пользователи могут ввести свой новый пароль, который находится в папке .layout, где также находится мой IndexLayout

`import IndexLayout from "./layout";`

Моя панель инструментов должна обрабатываться только в том случае, если пользователь вошел в систему

* 1021. *

Однако я не понимаю, почему это повлияет на то, что я могу и не вижу.

Обычно я использую стандартные express и pug для сборки своих приложений, и я просто делаю app.get ('Forgot: Token' (req, res, next) => {etc}) et c ..

1 Ответ

2 голосов
/ 16 января 2020

Если ваш URL-адрес http://localhost: 3001 / auth / Forgot8b8dc686ee38320f7f5dd7b858e62a402cd2f0bb # /

Шаблон пути /forgot не соответствует этому. Вот почему вы не попадаете на компонент Forgot.

Вы можете изменить свою структуру URL на что-то вроде:

.../forgot/8b8dc686ee38320f7f5dd7b858e62a402cd2f0bb

Затем вы можете получить токен, используя React Router URL Params , например:

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