Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将钩子传递给子typescript时出现问题_Javascript_Reactjs_Typescript_Ecmascript 6 - Fatal编程技术网

Javascript 将钩子传递给子typescript时出现问题

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 您的子

我有一个使用挂钩的react组件。我的父组件如下所示:

const Parent = () => {

   const [isActive, setIsActive] = useState(false);

   return (
     <Child isActive={isActive} setIsActive={setIsActive} />
   );
}
我看到的错误是

类型错误:类型“Dispatch”不可分配给>类型“()=>void”。TS2322


您的
子项的
道具
类型不正确。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
}