代理错误:无法在reactjs中将请求/ api / auth从localhost:3000代理到http:// localhost:5000 /(ECONNREFUSED)

时间:2020-07-29 17:14:19

标签: javascript reactjs

这是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是要发送的请求。

0 个答案:

没有答案