1

假定的重复问题只回答了这个问题的第一部分(很糟糕),而不是第二部分。它“糟糕”地回答了第一部分,因为 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>

  1. 如何解决该 console.log() 问题?
  2. 为什么在不同的环境中行为会有所不同?
4

0 回答 0