javascript - 如何只更改包含对象的 React useState 中的一个值并将不同的值分配给其余值?

标签 javascript reactjs typescript state use-state

我有以下状态:

const [clickColumn, setClickColumn] = useState({
    name: 0,
    tasks: 0,
    partner: 0,
    riskFactor: 0,
    legalForm: 0,
    foundationYear: 0
  })

现在,例如,我只想将 name 设置为 2,其余设置为 1。但我不想这样写:setClickColumn({ name: 2, tasks: 1, riskFactor: 1, partner: 1, legalForm: 1, foundationYear: 1 });

如何缩短它?

最佳答案

您可以使用扩展运算符使其变得简单:

setClickColumn({ ...clickColumn, name: 2 });

它传播现有对象 clickColumn 并向其添加名称:2,覆盖默认值。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax

关于javascript - 如何只更改包含对象的 React useState 中的一个值并将不同的值分配给其余值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64041927/

相关文章:

angular - 类型 'json' 上不存在属性 '{}'

javascript - 尝试针对特定菜单项以仅更改菜单 CSS 中的前四项

javascript - 嵌套的 forEach 循环意外行为

angular - 可观察<数组> Angular2

node.js - 使用 Angular2 quickstart 运行 npm start 会导致错误(lite-server?)

html - 关于 iframe 和水平滚动的另一个问题

javascript - html javascript 类 ="highslide"在 android 浏览器上不起作用

javascript - QUnit/Sinon 测试异步 ajax 调用如果 http 错误则抛出异常

javascript - 如何在使用 axios 和 ReactJS 使用react选择后获取数据?

reactjs - 带有 useEffect 的自定义钩子(Hook)(在挂载上)执行了多次