组件正在React.js中重定向到其组件本身

发布时间:2020-07-07 09:36

我在项目中使用带有redux的react钩子。当我尝试重定向到另一个页面(即另一个组件)时,在我的操作文件的登录组件中。它会在几秒钟内重定向到登录组件。

这是代码: authReducer.js

const authReducer = (state = iState, action) => {
    switch (action.type) {
      case "IS_LOGIN":
      return {
        ...state,
        isLogin: action.payload,
      };
    }
})

userAction.js

export const loginSubmit = (data, props) => {
  return async (dispatch) => {
    axios
      .post(`${process.env.REACT_APP_API_URL}login`, data)
      .then((result) => {
        if (result.data.code == 200) {
          dispatch({
            type: "IS_LOGIN",
            payload: {
              data: result.data.data,
              authToken: result.data.authToken,
            },
          });

          localStorage.setItem("debateAccountToken", result.data.authToken);
          localStorage.setItem("email", result.data.data.email);
          localStorage.setItem("id", result.data.data.id);
          toast.success("Logged in successfully");

          // setInterval(() => {
          props.history.push("/log");
          // }, 3000);
        } else {
          toast.error("Email or password wrong!!");
        }
      })
      .catch((err) => {
        console.log("error .. ", err);
        toast.error("Somethihng went wrong!!");
        setInterval(() => {
          window.location.reload();
        }, 3000);
      });
  };
};

组件文件-> / log的路径

import React from "react";

function LoginPage() {
  return <div>hello</div>;
}

export default LoginPage;

路由文件

import React, { Component } from "react";
import { BrowserRouter, Route } from "react-router-dom";
import Login from "./components/UserLogin";
import Debate from "./components/debate/Debate";
import LandingPage from "./components/LandingPage";
import UserRegister from "./components/UserRegister";
import LoginPage from "./components/LoginPage";

export default class App extends Component {
  render() {
    return (
      <div>
        <BrowserRouter>
          <Route exact path="/" component={LandingPage} />
          <Route exact path="/register" component={UserRegister} />
          <Route exact path="/debate" component={Debate} />
          <Route path="/login" component={Login} />
          <Route path="/log" component={LoginPage} />
        </BrowserRouter>
      </div>
    );
  }
}

它通过useraction重定向到/ log组件,但最终它也返回了登录组件。我可能在哪里弄错了?

回答1