Soo*_*eon 4 javascript reactjs react-hooks
let [_value, setValue] = useState([1, 2, 3, 4, 5, 1, 2, 3, 4, 5 ]);
Run Code Online (Sandbox Code Playgroud)
在此代码中,如果我想更改 _value[3] 如何使用 setValue 更改值?
在我的项目中,当单击(评级)按钮时,我必须更改 _value[index]。
所以我必须动态更改 _value[index]。
如果您知道答案,请告诉我。谢谢你!
在 JavaScript 中更新数组通常有几种方法。重要的是,无论你做什么,你都要确保不会改变现有状态。
一种方法是制作数组的浅表副本,改变副本并设置新状态:
function update(index, newValue) {
// shallow copy
const newArray = [..._value];
// mutate copy
newArray[index] = newValue;
// set state
setValue(newArray);
}
Run Code Online (Sandbox Code Playgroud)
另一种选择是map遍历数组,当索引与所需索引匹配时返回新值。
function update(index, newValue) {
const newArray = _value.map((v, i) => {
if (i === index) return newValue;
return v;
});
setValue(newArray);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4342 次 |
| 最近记录: |