之前文章已经大概介绍过 useMemo
的用法,这篇文章会详细介绍该何时、如何正确使用它,并且搭配 React.memo
来对我们的项目进行一个性能优化。
使用 React.memo 和 React.useMemo 对项目性能优化
· 阅读需 17 分钟
之前文章已经大概介绍过 useMemo
的用法,这篇文章会详细介绍该何时、如何正确使用它,并且搭配 React.memo
来对我们的项目进行一个性能优化。
官方安装说明:https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora
系统的 yum 源安装 nodejs 版本太低。如果你的系统版本比较低,gcc 库版本低,编译安装的时候有可能不成功,下面是 yum 安装的步骤
自 React 16.8
后的 hooks api 出现以后,大大解决了代码的简介性,然而除了官方提供的几个 hooks api 之外,我们还可以自定义自己的 hooks api,以实现业务代码的简化和复用。
我们可以通过下列的例子,真正进入 hooks 的世界。
在 react-router
v4 之后,在组件之外使用路由必须通过 createBrowserHistory
或 createHashHistory
方法返回的 history 实例,并传入给 Router 组件,替换掉原本的 BrowserRouter/HashRouter
包裹组件。
然而在 最新的 v6(超强劲破坏性版本) 版本中,这种方法依然不可取(url 变化但是页面不变),除了上述所说之外,同时还需要监听 history 的变化,手动重新渲染页面。
React 在 16.8 版本以上可以使用,hooks 优点在于能够更好的复用性,也解决无状态组件的生命周期以及状态管理的问题,可以通过自定义 hook 的形式将组件分割的更细粒度,方便拓展和维护。
不管是 decorator(装饰器) 语法提案的不稳定,还是 class 类的 ts 支持性不如函数,不得不承认如今 React 和 React 生态已经全面拥抱函数了。