想必有很多小伙伴都会去学习react源码,但是拉取源码在vscode打开之后会发现源码中的文件都是下图这个画风:
各种类型报错看得人很抓狂有木有?那么该如何解决呢?从图中可以看出类型报错是vscode的内置ts类型检测报的,因此我们只需要在vscode中关闭ts对js文件的类型检测即可——在拓展应用中用关键词@builtin
搜索内置插件,找到TypeScript and JavaScript Language Features插件,在该插件的设置项中找到JavaScript validate,去掉勾选,当然你也可以直接在vscode的settings.json文件中添加"javascript.validate.enable": false
。
修改配置之后会发现所有的类型报错全部消失了,但是这还不够,众所周知,React使用flow进行类型检测,我们现在还不能让源码中的flow类型发挥作用。要看到源码中的类型提示,我们需要在vscode中安装facebook的Flow Language Support插件:
但是光有插件还不够,flow要求项目中必须要有 .flowconfig文件,但是我们自己拉取的React源码中没有,在 .gitignore文件中查看一下,发现果然 .flowconfig文件位列其中,那么有办法在项目中再生成该文件么?我们全局搜索下flowconfig
,发现有一个createFlowConfigs.js的脚本文件,并且在package.json文件中刚好有一个postinstall
脚本命令执行了createFlowConfigs.js,于是我们执行yarn postinstall
命令,执行完毕之后果然在项目根目录下出现了 .flowconfig文件。这个时候我们再打开源码重点js文件看看,会发现类型提示已经可以用了!
和之前的作对比:
简直perfect,有了类型提示,相信对我们理解React源码会有很大帮助~,最后我给大家放上flow的官网链接,大家可以直接在官网上进一步了解flow的用法——🔗flow.org/en/docs/get…