Javascript 将钩子传递给子typescript时出现问题
我有一个使用挂钩的react组件。我的父组件如下所示:Javascript 将钩子传递给子typescript时出现问题,javascript,reactjs,typescript,ecmascript-6,Javascript,Reactjs,Typescript,Ecmascript 6,我有一个使用挂钩的react组件。我的父组件如下所示: const Parent = () => { const [isActive, setIsActive] = useState(false); return ( <Child isActive={isActive} setIsActive={setIsActive} /> ); } 我看到的错误是 类型错误:类型“Dispatch”不可分配给>类型“()=>void”。TS2322 您的子
const Parent = () => {
const [isActive, setIsActive] = useState(false);
return (
<Child isActive={isActive} setIsActive={setIsActive} />
);
}
我看到的错误是
类型错误:类型“Dispatch您的
子项的道具
类型不正确。React将setIsActive
类型为Dispatch
,定义为:
type Dispatch<A> = (value: A) => void;
setIsActive函数应始终为isActive返回新状态。因此,不能使用type()=>void;void表示不返回值。尝试通过任何(或类型的isActive)修复void。
type Dispatch<A> = (value: A) => void;
type Props = {
isActive: boolean;
setIsActive: (active: boolean) => void;
}
const Child = ({ isActive, setIsActive}: Props) {
// rest of the component
}