这是app.js文件,在useEffect()挂钩中会加载用户。
navigation
现在,在上述代码中提供的useEffect()中调用了loadUser()方法。
b-step
当我们手动刷新页面或在URL栏中输入URL时,此代码非常有效。 调用loadUser()函数,调度USER_LOAD请求,并在redux存储中将isAuthenticated:true设置为重定向到仪表板。现在,当我编辑一些文件时,react页面中的文件会自动重新加载,从头开始的应用程序加载又会从头开始进行相同的过程。但是这次的问题是,在编辑某些文件时刷新页面,再次在App.js中调用useEffect()函数,然后在loadUser()函数中调用loadUser()函数,
navigation
此行引发错误提示
<b-step>
<b-step-item>...</b-step-item>
<b-step-item>...</b-step-item>
<b-step-item>...</b-step-item>
<template slot="navigation" slot-scope="{previous, next}">
<div class="field is-grouped is-grouped-centered">
<p class="control">
<a class="button is-primary" @click.prevent="next.action">Submit</a>
</p>
<p class="control">
<a class="button is-light">Cancel</a>
</p>
</div>
</template>
</b-step>
但是,如果再次手动刷新页面或在URL栏中输入URL,它会被重定向到仪表板。发生这种情况是因为当我们键入URL并按Enter时,默认情况下会发送get请求,并且也在loadUser中发送
import React, { useEffect } from "react";
import { Switch, BrowserRouter as Router, Route } from "react-router-dom";
import Landing from "./components/layouts/Landing";
import Header from "./components/layouts/Header";
import store from "./redux/Store";
import setAuthHeader from "./utils/SetAuthHeader";
import { loadUser } from "./redux/auth/AuthActions";
import Routes from "./components/routing/Routes";
const App = () => {
if (localStorage.getItem("token")) {
console.log("yes token");
setAuthHeader(localStorage.getItem("token"));
}
useEffect(() => {
console.log("useEffect");
const onStart = true;
store.dispatch(loadUser(onStart));
}, [])
return (
<Router>
<Header />
<Switch>
<Route exact path="/" component={Landing} />
<Route component={Routes} />
</Switch>
</Router>
);
};
export default App;
它正在发送获取请求?。但是,在编辑某些文件时,页面会自动刷新,因此它说ECONNREFUSED是要发送的请求。