useEffect和useState保持重新渲染

时间:2019-12-08 18:36:42

标签: node.js reactjs use-effect

我已经写了一些代码。但是当我运行服务器和客户端时。我的客户不断请求API。 我认为问题在于useEffect和useState,但我不知道如何解决。我已经尝试了各种方法,包括异步函数和传递额外的参数。

对于服务器,我正在使用node.js,对于客户端,我正在使用React.js和MongoDB作为数据库。

这是我的git仓库。

https://github.com/ahmedmobin/pizza-master

在此先感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

useEffect也将针对每个propChange触发,就像对componentDidUpdate一样。

为防止这种情况,您需要提供第二个参数作为useEffect的空数组。

例如:

import React, { useState, useEffect } from "react";

function Example() {
  const [count, setCount] = useState(0);

  // Similar to componentDidMount:
  useEffect(() => {
    // Update the document title using the browser API
    document.title = `You clicked ${count} times`;
  }, []);

  return (
    <div>
      <p>You clicked {count} times</p>
      <button onClick={() => setCount(count + 1)}>
        Click me
      </button>
    </div>
  );
}