react-testing-library-无效的挂钩调用

时间:2020-03-25 12:10:32

标签: reactjs jestjs react-hooks react-testing-library

我正在使用react-testing-library,并且收到“无效的钩子调用。只能在函数组件主体内部调用钩子。”消息。

测试一直有效,直到我将钩子提取到单独的库中为止,该库包含在(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();

如果我发布库并使用发布的版本,则可以正常工作。如果我改用yarn link也不能正常工作。

我还检查了是否有多个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。

有什么线索吗?

0 个答案:

没有答案