首页 > 解决方案 > 直接更新 useState 对象键?

问题描述

我想将我的注释键值更新为新值,同时保持其他键不变。我知道我可能需要扩展运算符......但我不确定确切的语法。我需要在 setResource() 中添加什么来完成此操作?

const VideoPage = () => {
  const [state, setResource] = useState(
    {
      video: 'placeholder'
      loading: 'placeholder'
      comment: 'placeholder'
    }
  )
  const funct = () => {
    setResource()
  }
}

标签: javascriptreactjsstatereact-hooks

解决方案


如果您想保留该州的其他部分,您应该执行以下操作:

setResource(prevState => ({
    ...prevState,
    comment: "new Value",
}))

由于您的状态的 setter 函数不会像旧setState方法那样合并其他值。这就是您应该进行功能更新的原因。


推荐阅读