React/Antd Warning移除大法——整个世界清净了

好久没更了,真的是好久... 续个命233 HP+100

最近在搬砖搞一套后台系统,用的react 17.0.1 + antd 4.12.3.

闲下来瞅了瞅控制台,艾玛,几十个warning...

90%都是eslint对react hook依赖的警告。虽然说可以直接 eslint-disable-next-line 一劳永逸,然而总感觉不太专业...

于是乎,为了去除warning,按照react官方推荐写法,简简单单的一段代码就变得emmmmmm....

消除hook warning后,最终剩下两个不明所以的warning:

这两个警告只能通过升级库解决,并非自身代码问题。

一、

SharedArrayBuffer will require cross-origin isolation as of M91, around May 2021. See

原因是react 17.0.1 使用了 SharedArrayBuffer 这个API,这个API在将来随着chrome的更新,可能会导致旧功能不可用,所以会报警告。

解决方法: 将react 17.0.1 升级至 17.0.2 。
react在新版本中解决了这一隐患

二、

You are using a whole package of antd, please use https://www.npmjs.com/package/babel-plugin-import to reduce app bundle size.

这是antd报的警告,提示antd未按需加载。这个警告困扰了我许久,webpack已经设置babel-plugin-import插件来做tree-shaking了,而且分析打包出的文件,确实实现了按需加载。蛋柿,这个警告阴魂不散... 最终发现时antd的bug,已经在16.13.0修复在本地开发时会报 tree-shaking 警告信息的问题。

解决方法: 将antd 4.12.3 升级至 4.13.0 以上即可。

Author

Ludis

Posted on

2021-06-30

Updated on

2021-06-30

Licensed under

Comments