【问题标题】:Unexpected fetch data hook behavior意外的获取数据挂钩行为
【发布时间】:2020-02-25 08:02:28
【问题描述】:

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

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

实际结果:Console.log显示每次点击名字都会修改原始数据。因此我无法重置列表。我无法解释为什么 useFetchData 中的状态会随着组件状态的变化而变化。

我错过了什么?谢谢! CodeSandbox

【问题讨论】:

  • 一旦你填充了你的钩子状态,重置按钮就不能正常工作,我认为一旦你想要与重新加载页面相同的条件,你应该重做你获取数据。
  • 你能解释一下为什么钩子状态会改变吗?我不明白为什么改变组件状态也会改变钩子状态。
  • onClick on reset 你实际上是在推送当前状态数据

标签: reactjs react-hooks


【解决方案1】:

我发现了问题。我以为这是一个钩子问题,结果是我对传播运算符缺乏了解。阅读文档后,我现在知道传播操作仅复制数组或对象的第一层。如果数组或对象是多维的,展开运算符将不起作用。这就是钩子状态发生变化的原因。

【讨论】:

    猜你喜欢
    • 2021-07-01
    • 2019-12-27
    • 1970-01-01
    • 1970-01-01
    • 2022-10-09
    • 1970-01-01
    • 2021-02-06
    • 2020-06-20
    • 1970-01-01
    相关资源
    最近更新 更多