繁体   English   中英

React Typescript:类型参数不可分配给类型参数

[英]React Typescript: Argument of type is not assignable to parameter of type

它是一个用于创建复选框按钮的 React 组件,我在 setRSelected(1),setRSelected(2)...

  const [cSelected, setCSelected] = useState([]);
  const [rSelected, setRSelected] = useState();

  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>Radio Buttons</h5>
      <ButtonGroup>
        <Button color="primary" onClick={() => setRSelected(1)} active={rSelected === 1}>One</Button>
        <Button color="primary" onClick={() => setRSelected(2)} active={rSelected === 2}>Two</Button>
        <Button color="primary" onClick={() => setRSelected(3)} active={rSelected === 3}>Three</Button>
      </ButtonGroup>
      <p>Selected: {rSelected}</p>
    </div>
  );
} 

我收到此错误: Argument of type '1' is not assignable to parameter of type 'SetStateAction<undefined>'.

我怎样才能解决这个问题

你应该像这样使用useState时声明类型:

const [rSelected, setRSelected] = useState<number | undefined>();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM