preact - testing-library/preact 和 react-redux 不工作
问题描述
尝试测试使用 react-redux 钩子(useDispatch 和 useSelector)的 Preact 组件,并得到以下错误:
无效的挂钩调用。钩子只能在函数组件的主体内部调用。这可能是由于以下原因之一: 1. 你可能有不匹配的 React 版本和渲染器(例如 React DOM) 2. 你可能违反了 Hooks 规则 3. 你可能有多个 React 副本同一个应用
这是调用堆栈:
at resolveDispatcher (node_modules/react/cjs/react.development.js:1465:13)
at useMemo (node_modules/react/cjs/react.development.js:1520:20)
at d.parentDom [as constructor] (node_modules/react-redux/lib/components/Provider.js:22:41)
at d.tmp [as render] (node_modules/preact/src/render.js:31:47)
at push (node_modules/preact/src/diff/index.js:168:67)
at children (node_modules/preact/src/diff/children.js:117:11)
at key (node_modules/preact/src/diff/children.js:254:25)
at g (node_modules/preact/src/diff/children.js:76:34)
at push (node_modules/preact/src/diff/index.js:200:15)
at children (node_modules/preact/src/diff/children.js:117:11)
at k (node_modules/preact/src/diff/children.js:254:25)
at key (node_modules/preact/src/diff/children.js:252:30)
at g (node_modules/preact/src/diff/children.js:76:34)
at childNodes (node_modules/preact/src/diff/index.js:200:15)
at D (node_modules/preact/src/render.js:48:37)
at resolve (node_modules/@testing-library/preact/dist/pure.js:90:26)
at Object.<anonymous>.exports.act (node_modules/preact/test-utils/src/index.js:78:17)
at Object.render (node_modules/@testing-library/preact/dist/pure.js:86:22)
at Object.<anonymous> (src/core/components/playerPlaceholder/playerPlaceholder.test.tsx:17:25)
我在想可能缺少一些额外的配置,但在网上找不到任何东西。
解决方案
推荐阅读
- swiftui - SwiftUI - HStack 上的 onTapGesture 工作,直到它停止工作
- python - 通过 heroku master 推送 Web 应用程序后出现未知错误
- android - Android OpenGL ES 2.0:如何将位图转换为 mp4 视频?
- kubernetes - GKE 自动扩缩程序未缩减节点
- spring-kafka - 使用 kafkaTemplate 将墓碑发送到压缩主题
- scala - Scala 类型参数不符合类型参数范围
- postgresql - 如何分配和提取在 RECORD 类型中定义的表值
- powershell - 在远程 Powershell 会话的过滤器内使用局部变量
- python - 如何制作将在其他列中的值更改时显示的列计数器
- apache-kafka - 分区少于broker count kafka配置是否正常