reactjs - React.memo 不是 16.13.0 中的函数

标签 reactjs

TestComponent.js

import React from "react";

function TestComponent(props) {
  return <div>{props.id}</div>;
}

function arePropsEqual(prevProps, nextProps) {
  return prevProps.id === nextProps.id;
}

export default React.memo(TestComponent)(arePropsEqual);

上述组件抛出以下错误: 类型错误:react__WEBPACK_IMPORTED_MODULE_0___default.a.memo(...) 不是函数

我知道这个问题已经被问了很多次 here , herehere但所有这些问题都有一个共同点,它们都使用低于 16.6.0 的版本,显然它在低于此版本的 React memo 中不起作用> 已在此版本中发布。

但我正在使用 16.13.0(附有屏幕截图),但仍然收到此错误。

Package.json

enter image description here

错误截图:

enter image description here

最佳答案

而不是:

export default React.memo(TestComponent)(arePropsEqual);

做:

export default React.memo(TestComponent, arePropsEqual);

关于reactjs - React.memo 不是 16.13.0 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60466182/

相关文章:

javascript - Electron.js/包裹错误: fs.存在Sync不是函数

javascript - 如何正确使用useEffect()?

reactjs - 顺序调用 redux sagas

javascript - 从直接链接将 redux 项加载到状态

javascript - 如何正确地将自定义数据属性 Prop 传递给子组件?

javascript - 根据状态更改按钮的类名无法正常工作

javascript - 如何在 useEffect 中使用 useState,访问组件挂载时更新的 useState 值?

rest - 如何从 fetch 向我的 go API 发出 PUT 请求?

javascript - 使用中继js向前和向后分页

ReactJS:放置在子组件上时 onClick 处理程序不会触发