【发布时间】:2020-07-17 02:16:43
【问题描述】:
我有一个反应复选框可重用组件,它返回唯一键道具错误并在单击任何人时检查值数组中的所有框。
import React, { useState } from 'react'
export default function Checkboxes({name, values}) {
// handle with dispatch from globalState
const useCheckbox = () => {
const [checked, setChecked] = useState(false)
return {
checked,
onChange: e => setChecked(e.target.checked)
}
}
const checkbox = useCheckbox()
return (
<>
{
values.map((value, key) => (
<>
<input key={`${name}-${key}`} type="checkbox" value={value} {...checkbox} /> {value}
</>
))
}
</>
)
}
在应用程序中大量使用它来构建问卷。一个示例用例是
<Checkboxes
name="Risk_Response_management"
values={["Program", "Design", "Procurement(Bid/Cost Estimation)", "Production"]}
/>
当点击任何呈现的值时,所有复选框都会被选中,而应该只选中一个。在 useCheckbox 声明上方的注释中描述的最后一个用例是使用从 useReducer 挂钩到一个状态的调度,该状态应该在 bug 被压扁后工作,以便给当前用户一些视觉反馈。
【问题讨论】:
标签: javascript reactjs react-hooks