在 ReactJS 的 useState 中动态添加值

问题描述 投票:0回答:1

我有下面的代码,我对 field1、field2、field3 进行硬编码。我有一个字段数组 从我想在 useState 中生成这个对象的地方。可以做到吗?

const listOfFields = ['field1','field2','field3'];

const [全部,setAll] = useState({ 字段1:真实, 字段2:真实, 字段3:真 });

我希望 useState 从字段列表中获取 field1、field2、field3,这样如果字段列表中有一些附加字段(如 field4),useState 将自动使用它

是否可以使用listOfFields在useState内部动态生成对象?

reactjs ecmascript-6
1个回答
0
投票

我不确定你想要实现什么。检查此代码是否适合您:

const listOfFields = ['field1', 'field2', 'field3'];

const initialState = listOfFields.reduce((acc, field) => {
  acc[field] = true;
  return acc;
}, {});

const [all, setAll] = useState(initialState);
© www.soinside.com 2019 - 2024. All rights reserved.