javascript - 如何在 React useState 中存储和更新多个值?

标签 javascript reactjs react-hooks use-state

我有一系列用户数据元素,我正在使用钩子(Hook)在 React 组件中收集这些元素。

const [mobile, setMobile] = useState('');
const [username, setUsername] = useState('');
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const [confirmPassword, setConfirmPassword] = useState('');

其中每一项均更新如下。

<input type="text"
       className="form-control"
       id="mobile"
       placeholder="Enter a valid mobile number"
       onChange={event => {setMobile(event.target.value)}}/>

是否有更简洁的方法来使用对象作为变量来执行此操作?

最佳答案

您应该将 name 属性添加到输入标记。每个名称必须引用 AllValues 对象中的键。

const [allValues, setAllValues] = useState({
   mobile: '',
   username: '',
   email: '',
   password: '',
   confirmPassword: ''
});
const changeHandler = e => {
   setAllValues({...allValues, [e.target.name]: e.target.value})
}
return (
   <input type="text"
       className="form-control"
       id="mobile"
       name="mobile"
       placeholder="Enter a valid mobile number"
       onChange={changeHandler}
   />
   // ...
)

关于javascript - 如何在 React useState 中存储和更新多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59813926/

相关文章:

reactjs - Antd 用户界面库。覆盖空数据的 <Table/> 行为

JavaScript:从 create-react-app 中删除装饰器

javascript - React testing-library - 测试在第一个 useEffect 钩子(Hook)中设置状态的 Promise

javascript - 我应该在 useEffect 钩子(Hook)中使用 IIFE 吗?

javascript - 没有得到 XMLHTTPRequest 的响应

javascript - Ember JS : issue when rendering view

javascript - 在 d3js 中动画散点图的示例

javascript - 从 Rails 中的 Controller 打开弹出窗口

javascript - 在扩展 react 组件中绑定(bind)套接字

reactjs - 有没有一种方法可以在基于类的组件中使用自定义 Hook ?