我有一个使用钩子(Hook)的反应组件。我的父组件如下所示:

const Parent = () => {

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

   return (
     <Child isActive={isActive} setIsActive={setIsActive} />
   );
}

这是子组件
type Props = {
   isActive: boolean;
   setIsActive: () => void;
}
const Child = ({ isActive, setIsActive}: Props) {
   // component
}

我看到的错误是

最佳答案

您的PropsChild类型不正确。 React将setIsActive类型为Dispatch,定义为:

type Dispatch<A> = (value: A) => void;

您缺少类型中的value参数。这应该是正确的(还请注意,它必须是冒号而不是等号):
type Props = {
   isActive: boolean;
   setIsActive: (active: boolean) => void;
}
const Child = ({ isActive, setIsActive}: Props) {
   // component
}

关于javascript - 将 Hook 传递给 child typescript 的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54575523/

10-09 23:30