【发布时间】:2021-06-13 21:00:51
【问题描述】:
假设我有两个与同一域相关的不同列表,例如:
const [peopleList, setPeopleList] = useState([])
const [equipmentList, setEquipmentList] = useState([])
我只定义了一个处理程序来处理这些列表上的更改:
const handleListChange = (e, type) => {
type === 'people'
? setPeopleList(e.target.value)
: setEquipmentList(e.target.value)
}
并将其传递给不同的组件:
<Component onChange={e => handleListChange(e, type)} />
我不遵守开放/封闭原则,因此如果我有第三个选项,我将不得不更改我的处理程序以处理新选项。
我的问题是:对于这些类型的情况是否有更好的构造/最佳实践?
提前致谢。
【问题讨论】:
-
有效吗?如果是这样 - 当您需要添加第三个选项时,请稍后再考虑。一个问题 - 你总是显示两个列表还是只显示一个列表?
-
它确实有效,我只是想改进我的结构。两个列表同时显示。
标签: javascript reactjs solid-principles