我得到这个错误
_react.default.memo不是函数
和wrapWithConnect
。
这是一个react-native
项目,在使用connect函数将调度程序连接到我的react组件之前,它运行良好:
打包版本:
"react": "16.5.0",
"react-redux": "^6.0.1",
"redux": "^4.0.1",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.3.0",
代码
const mapDispatchToProps = dispatch => {
return {
sendEmail: (email, navigateMap) => dispatch(sendEmail, navigateMap))
export default connect(null, mapDispatchToProps)(Login)
答案 0 :(得分:15)
我遇到了同样的问题,我更改了6.0.0
的{{1}}版本,而不是使用更新的版本,此问题已解决。
请通过运行以下命令更改版本:
react-redux
。
我的项目版本大于16.5.0,但是我不确定这是否也有影响。
答案 1 :(得分:3)
这是expo的问题。尝试使用此命令清除expo缓存
expo r -c
答案 2 :(得分:2)
发生了完全相同的错误。意识到这不是由于语法错误,而是react-redux版本的兼容性。一旦我执行了纱线检查,它就会给我多条消息:“ react-redux#react@^16.8.4不满足找到的react@16.5.0匹配”。
Expo为react 16.5.0,而react-redux期望为react 16.8.4。 Moi回答说,安装react-redux 6.0.0对我有用。尝试更改任何其他程序包会导致出现更多错误
答案 3 :(得分:1)
尝试使用react 16.6.0而不是16.5.0
答案 4 :(得分:1)
结合为我解决的两个答案:
yarn remove react-redux
yarn add react-redux@6.0.1
expo r -c
这可以解决问题。
答案 5 :(得分:0)
尝试更新您的依赖项。
我遇到同样的问题,并且正在使用npm-check-updates。
这是更新检查日志:
expo ^32.0.0 → ^32.0.6
react 16.5.0 → 16.8.6
react-navigation ^3.6.1 → ^3.7.1
babel-preset-expo ^5.0.0 → ^5.1.1
Run npm install to install new versions.
答案 6 :(得分:0)
如果您在尝试在Expo应用程序中实施现代React-Native时感到迷茫且无所适从,请不要担心我的朋友,您并不孤单。
我遇到了这个问题,发现:
expo 32.0
不支持react 16.8
react-redux 7.1
并按要求react 16.8
我能够使其与以下版本一起使用:
"expo": "^32.0.0",
"react": "16.5.0",
"react-redux": "^6.0.1",
您可以在package.json
中替换它们,然后应该这样做:
> rm -rf node_modules
> [npm|yarn] install
> expo r -c
为了从node_modules和Expo缓存中删除以前的版本。