reactjs - 如何仅为一个渲染更新几个 useState?
问题描述
我有一个关于使用 useState 重新渲染的小问题。例如,我有五个 useState 方法:
setFirstState(someValue);
setSecondState(someValueSecond);
setThirdState(someValueThird);
...
我只想要一个带有反应钩子的渲染。你能给我解释一下,或者举个例子吗?
解决方案
您想useReducer
改用,并使用具有(第一、第二、第三...)属性的对象启动它,然后每次修改您想要的对象。
声明你的初始值
const initialState = {
someValue: 'someValue',
someValueSecond: 'someValueSecond',
someValueThird: 'someValueThird',
}
设置它
const [val, setVal] = React.useReducer(initalState);
然后在需要时进行修改。
setVal({someValue: 'anotherValue'});
setVal({someValueSecond: 'anotherValue'});
setVal({someValueThird: 'anotherValue'});
推荐阅读
- javascript - React:将 div 的宽度设置为图像的宽度
- html - 如何使用模板文件将格式化的 MS-Access 报告导出为 HTML?
- typescript - 在打字稿中创建传递函数
- lotus-notes - 将在 Lotus Notes Designer 中计算剩余天数的视图中的列
- c# - Moq - 不可覆盖的成员不能用于设置/验证表达式
- php - Laravel Eloquent 模型 hasMany 错误“Illuminate\Database\Eloquent\Relations\HasMany 无法转换为字符串”
- javascript - 将鼠标悬停在元素上时如何更改类?
- python - 使用 OpenCV 自动调整一张纸的彩色照片的对比度和亮度
- angular - angular anchor routerlink 动态链接地址
- arrays - ruby 中有没有像 object.in(array) 这样的东西?