Я использую реагирующую библиотеку и получаю «Недопустимый вызов ловушки. Хуки можно вызывать только внутри тела компонента функции». message.
Тесты работали до тех пор, пока я не извлек ловушку для отдельной библиотеки, в которую я включаю (package. json):
devDependencies: {
"react-hooks": "../react-hooks",
}
Я думаю, это интересно, что она выдает эту ошибку при вызове ловушки в отдельной библиотеке (строка 25), а не при вызове ловушки внутри той же библиотеки (строка 24):
23 | export default function Button({ id, onClick, children, ...props }: ButtonProps) {
24 | const theme = useThemeContext();
> 25 | const { isMouseOver, onMouseOver, onMouseOut } = useMouseOver();
Это работает, если я опубликую sh библиотеку и использую опубликованная версия. Это также не работает, если я вместо этого использую ссылку пряжи.
Я также проверил, есть ли несколько экземпляров React, и, кажется, их нет:
$ yarn list react
yarn list v1.22.0
warning package.json: No license field
└─ react@16.13.1
Done in 1.05s.
Я объединяю оба библиотеки с посылкой (tsdx). У них нет React в комплекте.
Есть какие-нибудь подсказки о том, что происходит?