javascript - 优化 React 中的功能。将 setState 键作为道具?
问题描述
有这个功能,它基本上定义了要收听的表单输入。然而,随着输入的增长,功能也在增长。
我正在考虑传递一个 id 并将其与状态键的值进行比较,以便该状态会改变。
onChange = event => {
if (event.target.id === "Name") {
this.setState({
name: event.target.value
});
} else if (event.target.id === "Position") {
this.setState({
position: event.target.value
});
} else if (event.target.id === "Text") {
this.setState({
text: event.target.value
});
}
};
那么如何正确处理状态呢?
我在想这样的事情。因此输入表单调用具有 id 值的函数并找到具有相同名称|值的状态。
onChange = (event, id) => {
this.setState({
{ id value as a key?}: event.target.value
})
}
但是,不明白如何正确编写它。请问有什么帮助吗?
解决方案
你可以这样做
onChange = event => {
this.setState({
[event.target.id]: event.target.value
})
}
还将您的元素 id 更改为name
,position
和text
推荐阅读
- css - 在 Wordpress 中,mapbox 徽标在网格之外展开
- sql - SQL:检查一个数字是否在多个范围的范围内
- c# - Xamarin SQLite 数据库检查
- javascript - 从某个位置获取半径范围内的城市(Google Map API)
- python - SQL Server 连接 - 适用于 pyodbc,但不适用于 SQLAlchemy
- python - postgres10 的 psycopg2 编码错误
- swift - 如何实现垂直标签可可应用程序
- javascript - 如何在 ReactJs 中呈现 jsx 元素数组
- python-3.x - 如何在没有 python shell 的情况下获取键盘输入
- javascript - React-native CSS 使父容器透明