我正在从 promise 中获取数据,我想将它设置在 react hook 中,它确实如此,但它会发出无限请求并重新呈现页面,我还想要一些特定的数据来填充
const [rows, setRows] = useState([]);
useEffect(() => {
async function fetchData() {
myEmploiList({
user: user.id
}).then((data) => {
//setRows(data);
const newData = [];
data.forEach((item, index) => {
newData[index] = {
id: item._id,
name: item.name,
society: item.society
};
setRows(newData);
});
});
}
fetchData();
});
最佳答案
您应该将依赖项添加到您的 useEffect
钩。这是这个钩子(Hook)的第二个参数。
useEffect(() => {
// your code
}, [deps]);
部门解释:
- 无值:将在每次组件呈现时执行效果。
- []:仅在组件第一次渲染时执行效果。
- [value1, value2, ...]: 如果任何值发生变化,将执行效果。
如需进一步阅读,我强烈推荐 this blog post .
关于javascript - 如何在 promise 中设置 react 钩子(Hook)的值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61369005/