библиотека реагирования на тестирование - неверный вызов ловушки - PullRequest
0 голосов
/ 25 марта 2020

Я использую реагирующую библиотеку и получаю «Недопустимый вызов ловушки. Хуки можно вызывать только внутри тела компонента функции». 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 в комплекте.

Есть какие-нибудь подсказки о том, что происходит?

...