Codesandbox.io 引发了跨源错误问题
A cross-origin error was thrown problem with Codesandbox.io
当我尝试执行此代码时,我在 Codesanbox.io 中遇到 "A cross-origin error was thrown" 错误。
请问我该怎么做才能过去?
我正在使用 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);
可能是codesandbox的问题?
你读到这里了吗:https://github.com/codesandbox/codesandbox-client/issues/667
通常情况下,跨源错误是您可以在后端而不是前端(浏览器)中控制的。我怀疑你在代码中调用了一些你不应该在浏览器中调用的权限 API 。 CORS 是一个完整的主题。要真正理解,我觉得你应该花点时间消化一下。
您的 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>
);
}
当我尝试执行此代码时,我在 Codesanbox.io 中遇到 "A cross-origin error was thrown" 错误。 请问我该怎么做才能过去? 我正在使用 codesanbox.io
的 Create-react-appimport 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);
可能是codesandbox的问题? 你读到这里了吗:https://github.com/codesandbox/codesandbox-client/issues/667
通常情况下,跨源错误是您可以在后端而不是前端(浏览器)中控制的。我怀疑你在代码中调用了一些你不应该在浏览器中调用的权限 API 。 CORS 是一个完整的主题。要真正理解,我觉得你应该花点时间消化一下。
您的 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>
);
}