проблема с передачей хука к дочерней машинке - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть компонент реакции, использующий крючки.Мой родительский компонент выглядит так:

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
} 

Я вижу ошибку:

Ошибка типа: Тип«Dispatch » нельзя назначить для> type '() => void'.TS2322

1 Ответ

0 голосов
/ 08 февраля 2019

Ваш Props тип для Child неверный.React набирает setIsActive как Dispatch, который определяется как:

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

В вашем типе отсутствует аргумент value.Это должно быть правильно (также обратите внимание, что это должно быть двоеточие, а не знак равенства):

type Props = {
   isActive: boolean;
   setIsActive: (active: boolean) => void;
}
const Child = ({ isActive, setIsActive}: Props) {
   // component
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...