当state的key为变量时,如何获取对应的state值?
动态获取state中对应key的值
当然有直接实现的方法,你可以用JavaScript的方括号属性访问语法来实现,这正好适配state的key是动态参数的场景。
具体用法示例:
假设你的state结构是这样的(以React函数组件为例):
const [state, setState] = useState({ username: "Vaibhav", email: "vaibhav@example.com" });
如果有一个动态传入的参数targetKey,比如:
const targetKey = "username"; // 这个key是通过参数传入的
直接用方括号语法就能获取对应的值:
const value = state[targetKey]; // 此时value就是"Vaibhav"
如果是类组件,写法类似:
// 类组件中 const targetKey = "email"; const value = this.state[targetKey]; // value就是"vaibhav@example.com"
核心逻辑就是:JavaScript对象支持用obj[变量名]的方式访问动态属性,完全满足你想要的通过变量获取state对应值的需求。
内容的提问来源于stack exchange,提问作者Vaibhav Dhasmana
相关产品推荐
相关产品推荐

