json React JS设置数组对象值

os8fio9y  于 2023-03-24  发布在  React
关注(0)|答案(1)|浏览(112)

完全的损失,虽然这必须是简单的?
这个json 'client'。
我试图将capacities[0].value设置为input中的值,但失败了。
谢谢!
[ { "Timezone": "VN", "Id": "9682334", "email": "booking@test.vn", "capacities": [ { "name": "capacity", "value": 360 }, { "name": "seats", "value": 560 }, ], } ]
onChange={(e) => setClient({...client, capacities[0].value: e.target.value })};

k5ifujac

k5ifujac1#

你的数据看起来是一个数组,但在setClient中,你正在解构一个名为client的对象。这需要首先解决。
假设我们这样做并得到一个这样的对象:

const jsonObj = {
    data: {
      Timezone: 'VN',
      Id: '9682334',
      email: 'booking@test.vn',
      capacities: [
        { name: 'capacity', value: 360 },
        { name: 'seats', value: 560 },
      ],
    },
  };

并设置如下状态:

const [client, setClient] = useState(jsonObj);

你想做的事情可以这样做:

(e) => {
    client.data.capacities[0].value = e.target.value;
    setClient({ ...client });
  };

你的方法不起作用的原因是,在JS中,对象的键值可以是字符串或符号。

相关问题