javascript - 如何在 promise 中设置 react 钩子(Hook)的值(value)?

标签 javascript reactjs promise request react-hooks

我正在从 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/

相关文章:

Javascript/网络包 : how to concatenate all json files in directory with a custom loop over files

css - Material UI 5 个情感问题

javascript - 将嵌套 AJAX 调用转换为顺序 Promise

javascript - promise 是如何创建的?

javascript - 在 componentDidMount 上触发转换

javascript - knex select() 在 javascript 中完成查询之前返回

javascript - 将回调函数作为参数传递

javascript - 我被难住的冲突 Jquery 问题

javascript - 如何向图像 slider 添加过渡/动画?

javascript - onclick 和 href="javascript :function name? 之间有什么区别