React 打字稿:类型"数字"的参数不能分配给类型"从不"的参数



这是一个React组件来创建一个复选框按钮,我有这个错误在onCheckboxBtnClick(1),onCheckboxBtnClick(2)…

const [cSelected, setCSelected] = useState([])
const [rSelected, setRSelected] = useState<number>()
const onCheckboxBtnClick = (selected: never) => {
const index = cSelected.indexOf(selected)
if (index < 0) {
cSelected.push(selected)
} else {
cSelected.splice(index, 1)
}
setCSelected([...cSelected])
}
return (
<div>
<h5>Checkbox Buttons</h5>
<ButtonGroup>
<Button color="primary" onClick={() => onCheckboxBtnClick(1)} active={cSelected.includes(1)}>
One
</Button>
<Button color="primary" onClick={() => onCheckboxBtnClick(2)} active={cSelected.includes(2)}>
Two
</Button>
<Button color="primary" onClick={() => onCheckboxBtnClick(3)} active={cSelected.includes(3)}>
Three
</Button>
</ButtonGroup>
<p>Selected: {JSON.stringify(cSelected)}</p>
</div>
)
}
export default Example

,我得到这个错误:Argument of type '1' is not assignable to parameter of type 'SetStateAction<undefined>'.我该如何解决这个问题?

我实际上试过把这个复制到Codesandbox中,但是没有产生你所描述的。

你从哪一行得到这个错误?

Codesandbox进一步讨论:https://codesandbox.io/s/admiring-shadow-6ec4g?file=/src/App.tsx

最新更新