假定的重复问题只回答了这个问题的第一部分(很糟糕),而不是第二部分。它“糟糕”地回答了第一部分,因为 JSON.stringify 仅适用于超级简单的示例。一旦这个例子变得稍微复杂一点,它就会带来另一个问题。如“TypeError:将循环结构转换为 JSON”。
console.log 没有按预期工作。注意 React、CodeSandbox 中的行为。链接。我在处理我的项目时偶然发现了这个错误,该项目不在 CodeSandbox 上,也没有使用 create-react-app(如果重要的话)。
这不仅在 React CodeSandbox 中,而且在 Vanila 沙箱和可能的其他沙箱中。
下面我写了 2 个按预期工作的示例。
<!DOCTYPE html>
<html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
<script>
const items = [1, 2];
console.log(items); //okay. Expected=Actual=[1,2]
console.log(items[0]); //okay. Expected=Actual=1
items.reverse();
console.log(items); //okay, Expected=Actual = [2,1]
console.log(items[0]); // okay, Expected=Actual=2
</script>
</html>
Reactjs 片段:
const Why = () => {
const items = [1, 2];
console.log(items); //okay. Expected=Actual [1,2]
console.log(items[0]); //okay. Expected=Actual=1
items.reverse();
console.log(items); //okay, Expected=Actual = [2,1]
console.log(items[0]); // okay, Expected=actual=2
return <div>{items}</div>;
};
ReactDOM.render(
<Why />,
document.getElementById("react")
);
<div id="react"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
- 如何解决该 console.log() 问题?
- 为什么在不同的环境中行为会有所不同?