reactjs - 如何使用 useState 处理对象值?
问题描述
我是新来的胡克。在我的项目中,const state 是一个对象,state.boolean = false,state.number = 1
我有一个与唯一 state.number 关联的输入框,那么我的 handleChange 函数应该是什么?
function handleChange(value){
setState(value.number)
}
是不正确的。
非常感谢
解决方案
您仍然可以使用useState
钩子及其关联的 setState 函数更新对象的某些部分:
const initialValue = {
boolean: false,
number: 1
}
const [value, setValue] = useState(initialValue)
function updateNumberPartOfState = number => {
setValue({
...value,
number: number
})
}
function updateBooleanPartOfState = boolean => {
setValue({
...value,
boolean: boolean
})
}
或者像 Andrew Li 评论的那样,为每个变量设置一个单独的 setState 值/函数对:
const [boolean, setBoolean] = useState(false)
const [number, setNUmber] = useState(1)
注意:实际上不要使用boolean
or number
,因为它们非常接近保留术语Boolean
and Number
,而且我很确定 typescript 使用小写值作为保留字。
推荐阅读
- arrays - 无法在对象内映射数组
- react-native - 跨应用程序连接的 React Native Websocket
- javascript - 无法在 React js 中 @use sass 文件
- javascript - 使用堆栈填充扫描线仅使用Javascript为一行着色?
- awk - 仅搜索列中具有确切字符串的行
- firebase-storage - 如何在本地存储图像并在android应用程序中使用?
- angular - Angular + Spring boot + OAuth 设计问题
- javascript - Javascirpt 验证正则表达式不起作用
- javascript - 在 Firebase 中获取孩子的名字
- html - 为什么下载 Excel、pdf 时 DataTables 不填写记录