Почему частный маршрут запускается дважды в React Rounter - PullRequest
0 голосов
/ 07 мая 2020

Когда пользователь с ключом сеанса refre sh страница, ax ios дважды отправляет данные на сервер, это частный маршрут. Если я удалю return ax ios пользователь с токеном будет go на / страницу входа, но ax ios сделает один запрос, как я могу это исправить? А может это плохой подход?

const PrivateRoute = ({ component: Component, ...rest }) => {
  const { path, dispatch } = rest;
  console.log('count of render');
  return (
    <Route
      path={path}
      render={(props) => (dispatch(sessionAction(path)) ? <Component {...props}/>
        : (<Redirect to="/login" />))}
    />
  );
};
const sessionAction = (path) => (dispatch) => {
  return axios({
    method: 'post',
    url: `http://localhost:4000/api/pages${path}`,
  })
    .then((response) => {
      if (response.data.error.status === '02') {
        dispatch(failure(response.data.text));
      } else {
        const { data } = response;
        dispatch(success(data));
      }
    })
    .catch((error) => error);
};
...