gpt4 book ai didi

javascript - 在 React Hooks 中使用具有 `Set` 状态的动态变量?

转载 作者:数据小太阳 更新时间:2023-10-29 05:44:59 25 4
gpt4 key购买 nike

这是 React 组件中非常常见的模式:

handleTextFieldChange(event)
{
const name = event.currentTarget.name;
this.setState({[name]: event.currentTarget.value})
}

什么 Javascript 语法可以用来对 React hooks 做同样的事情?

即可能类似于以下内容:

handleTextFieldChange(event)
{
const name = event.currentTarget.name;
this.set[name](event.currentTarget.value);
}

最佳答案

您可以将单个 useState 与包含所有输入值的对象的默认值一起使用,并像您习惯使用类组件那样更新它。

示例

const { useState } = React;

function App() {
const [state, setState] = useState({ email: "", password: "" });
function onChange(event) {
const { name, value } = event.target;
setState(prevState => ({ ...prevState, [name]: value }));
}

return (
<div>
<input value={state.email} name="email" onChange={onChange} />
<input value={state.password} name="password" onChange={onChange} />
</div>
);
}

ReactDOM.render(<App />, document.getElementById("root"));
<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>

<div id="root"></div>

关于javascript - 在 React Hooks 中使用具有 `Set` 状态的动态变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54679928/

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