gpt4 book ai didi

reactjs - 如何在 React 中动态创建 Hook?

转载 作者:行者123 更新时间:2023-12-05 02:10:40 25 4
gpt4 key购买 nike

我知道我要说的可能是不可能的,但我想用我在 React with Class Components 中所做的功能组件做一些事情,

使用类组件,您可以这样做:

handleChange = (e) => {
this.setState({
[e.target.name]: e.target.value
});
}

this.state."e.target.name"是用 e.target.name 的值动态创建的,

但是如何在功能组件( Hook )中,根据输入名称的值动态设置 Hook ?

它会是这样的(别喊,我知道那是不可能的 :D):

function handleChange(e) {
set`${e.target.name.toUpperCase()`(e.target.value);
}

我知道有 99% 的人告诉我“那不可能”,但我真的很想确定,

谢谢

最佳答案

这与 hooks 本身无关,更多的是关于如何定义 state。您可以像这样使用 useState 重现您想要的行为

const Component = () =>{
const [state, setState] = useState({})

const onChange = e =>{
const { target: {value, name } } = e

setState(prev =>({
...prev,
[name] : value
}))
}

}

现在如果 state[name]undefined 一个新的属性被添加,如果 state[name] 已经定义了旧的 被覆盖

关于reactjs - 如何在 React 中动态创建 Hook?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58485287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com