首页 > 解决方案 > 我如何将对象的属性(在 React 中但不仅在 React 中)最好设置为一个衬里?

问题描述

这真的很微不足道,但我正在寻找一种首选方式,但似乎找不到。

我有一个对象,像这样:

const input = {
  aaa: "bee",
  foo: "bar",
  fizz: "buz",
  (...)
}

我如何将其更改为:

const input = {
  aaa: "bee",
  foo: "CHANGED",
  fizz: "buz",
  (...)
}

不使用赋值,例如input.foo = "CHANGED"

我在 React 中设置了一个状态,所以我想做一些类似的事情,setState(...input, foo: "CHANGED")但我不能使用...它,因为它不是一个数组。我错过了什么?我正在寻找的东西甚至有一种优雅的方式吗?我必须映射吗?还是有一个班轮?

标签: javascriptreactjsobject

解决方案


您也可以...在对象中使用:

  const [foo, setFoo] = useState({
    bar: "example",
    baz: "this will change"
  });


  setFoo({
    ...foo,
    baz: "changed"
  });

推荐阅读