为什么在不使用 useEffect 的情况下尝试从 localStorage 和 API 加载数据时数据结果显示两次?

Why data results showed twice while trying to load data from localStorage and API without using useEffect?

这是我的项目的一部分,我试图从我的 localStorage 加载数据并从 jsonplaceholder 加载数据(这是为了我的查询,它不是我的主要项目的一部分):

//load data from local storage and API without using useEffect
  const savedCart = getDatabaseCart();
    console.log(savedCart);
    fetch("https://jsonplaceholder.typicode.com/users")
      .then((res) => res.json())
      .then((data) => console.log(data));

//load data from local storage and API using useEffect
  useEffect(() => {
    const savedCart = getDatabaseCart();
    console.log(savedCart);
    fetch("https://jsonplaceholder.typicode.com/users")
      .then((res) => res.json())
      .then((data) => console.log(data));
  }, []);

结果在这里:第一个结果在我不应用useEffect时出现,第二个结果在我应用useEffect时出现---->

为什么会这样???

这很可能是由重新渲染引起的(状态已在其他地方更新)。第二个参数为空的 useEffect 挂钩导致处理程序仅 运行 一次。这里有更多信息:css-tricks.com/run-useeffect-only-once