React-Redux underispatch()未接收的TypeError



我正在尝试创建一个简单的组件,以使用React Redux Hook useDispatch派遣操作 - 我会遇到错误。我已经将组件缩小到发生误差的位置。当调用uderIspatch函数时,它会发生。

import { useDispatch } from 'react-redux'
const MyComp = () => {
  useDispatch()
  return null
}
export default MyComp

这是我在Dev Console中看到的错误:

Uncaught TypeError: Object(...) is not a function
    at MyComp (MyComp.js?cc4c:4)
    at renderWithHooks (react-dom.development.js?d018:12938)
    at mountIndeterminateComponent (react-dom.development.js?d018:15020)
    at beginWork (react-dom.development.js?d018:15625)
    at performUnitOfWork (react-dom.development.js?d018:19312)
    at workLoop (react-dom.development.js?d018:19352)
    at HTMLUnknownElement.callCallback (react-dom.development.js?d018:149)
    at Object.invokeGuardedCallbackDev (react-dom.development.js?d018:199)
    at invokeGuardedCallback (react-dom.development.js?d018:256)
    at replayUnitOfWork (react-dom.development.js?d018:18578)

我已经将其修剪得更远,因此React树中没有父母。

const store = configureStore()
ReactDOM.render(
  <Provider store={store}>
    <MyComp />
  </Provider>,
  document.getElementById('root')
)

模块版本

    "react": "^16.8.6",
    "react-dom": "^16.8.6",
    "react-redux": "^7.1.0",

在我的情况下,我正在这样做:

import { useDispatch } from 'react'

而不是:

import { useDispatch } from 'react-redux'

🤦‍♂️

我使它起作用 - 我认为只需停止,构建,重新启动应用程序即可。我没想到useDispatch需要这个,所以我无法解释为什么会有所帮助。

注释 - 我确实尝试了useSelector,但确实有效,我可以在React -Redux导入后输出使用Elector变量以控制台(underispatch的console.log未定义(。那时我可以说我是正确版本的React,这可能是我系统的问题。

所以,如果您有类似的问题。尝试一个完整的React应用程序重新启动。确认您正在加载正确的版本。

我正在使用@reduxjs/toolkit,并且假设已经安装了react-redux

我也有类似的问题,修复程序是更新" react-redux"。初始软件包。json就是这样:

"react": "^16.12.0",
"react-dom": "^16.12.0",
"react-redux": "^6.0.1",

安装react-redux@7.2.0

后,问题消失了

升级
"react-redux": "6.0.1",

to

"react-redux": "7.2.0",

为我修复了它

为概述运行npm outdated,然后npm update react-redux更新redux

我使用@reduxjs/toolkit;我通过删除" react-redux"修复了此操作。

相关内容

  • 没有找到相关文章

最新更新