Codesandbox.io引发跨域错误

时间:2019-12-08 17:59:53

标签: javascript reactjs cors codesandbox

当我尝试执行此代码时,Codesanbox.io中出现“引发跨域错误”错误。 请问我该怎么办? 我正在使用带有codesanbox.io

的Create-react-app
import React from "react";
import ReactDOM from "react-dom";
import "./styles.css";

class App extends React.Component {
  state = {
    customer: [
      { id: 1, name: "Leon" },
      { id: 1, name: "Lea" },
      { id: 1, name: "Vanelle" }
    ]
  };
  render() {
    const title = "Customer list";
    const elements = this.state.customer.map();
    return (
      <div className="App">
        <h1>{title}</h1>
        <ul>
          <li>
            Philippe <button>X</button>
          </li>
        </ul>
        <form>
          <input type="text" placeholder="Add a customer" />
          <button>Confirm</button>
        </form>
      </div>
    );
  }
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

2 个答案:

答案 0 :(得分:1)

您的render函数应map遍历该状态中的每个customer。仅仅调用this.state.customer.map()会引发错误,看来codesandbox无法正确处理。

尝试使用此渲染:

render() {
    const title = "Customer list";
    return (
      <div className="App">
        <h1>{title}</h1>

        <ul>
        {
          this.state.customer.map(c => (
            <li key={c.id}>
             {c.name} <button>X</button>
            </li>
          ))
        }
        </ul>
        <form>
          <input type="text" placeholder="Add a customer" />
          <button>Confirm</button>
        </form>
      </div>
    );
  }

答案 1 :(得分:0)

可能是codesandbox的错吗? 您是否在这里阅读过:https://github.com/codesandbox/codesandbox-client/issues/667

通常,跨域错误是可以在后端而不是前端(浏览器)中控制的。我怀疑您已在代码中调用了某些API,但您不应该在浏览器中调用该API。 CORS是一个完整的主题,需要阅读。要真正理解,我认为您应该花一些时间来消化它。