意外的获取数据挂钩行为



我正在学习如何使用钩子获取数据。在我的迷你项目中,我创建了一个自定义挂钩来获取和返回数据。在我的组件中,我创建了两个不同的状态来存储提取的数据中的两个列表,并在屏幕上呈现它们。

预期结果:当我从用户列表中单击名称时,它会将此用户移动到代理列表中。当我单击重置时,两个列表都应该返回到原始状态。

实际结果:Console.log显示每次单击名称时都会修改原始数据。因此,我无法重置列表。我无法解释当组件状态发生变化时,useFetchData中的状态为什么会发生变化。

我错过了什么?谢谢代码沙盒

我发现了这个问题。我以为这是一个钩子问题,结果是我对扩散算子缺乏了解。在阅读了文档之后,我现在知道spread操作只复制数组或对象的第一层。如果数组或对象是多维的,扩散操作符将不起作用。这就是钩子状态被更改的原因。

相关内容

  • 没有找到相关文章

最新更新