请看下面我发布的一个能够提高React开发舒适度的Chrome扩展!

我制作了一个名为React Inspector的Chrome浏览器扩展工具。

在Chrome上启动检查器,并在编辑器中以精确的方式打开所点击的React组件的源代码。(目前仅支持VSCode)

CleanShot 2022-09-02 at 18 08 23
    • Chrome web store: https://chrome.google.com/webstore/detail/react-inspector/gkkcgbepkkhfnnjolcaggogkjodmlpkh

GitHub: https://github.com/hand-dot/react-inspector

可以直接跳转到React源代码,这样就非常容易从UI中确定代码了。

    • 新しく入ったプロジェクト

 

    • 多言語対応されたサイト

 

    昔作ったアプリのメンテ

我认为如果能在诸如此类的场景中使用,可以节省确定源代码的时间,非常方便。


它是如何运作的?

我认为大家都知道 React Developer Tools 这个由 React 团队官方提供的 Chrome 扩展程序。

React Developer Tools 在初始化时设置了一个名为 __REACT_DEVTOOLS_GLOBAL_HOOK__ 的全局变量,并在初始化过程中与该变量进行通信。

在 __REACT_DEVTOOLS_GLOBAL_HOOK__ 中,有一个名为 renderers 的 Map 对象,可以使用其中存储的方法 findFiberByHostInstance 来从网页上的 HTML 元素中找到 React Fiber。

Fiber是React的差分检测处理引擎。
然而,除了差分处理所需的信息之外,Fiber还具有一些在开发构建时可用于调试的附加信息。
https://github.com/facebook/react/blob/f0efa1164b7ca8523b081223954d05c88e92053b/packages/react-reconciler/src/ReactInternalTypes.js#L193

React Inspector在使用Fiber中设置的_debugSource信息,在VSCode中根据文件名+行+列打开。


必要的条件

只有满足以下两个条件,才能使React Developer Tools设置REACT_DEVTOOLS_GLOBAL_HOOK并使用开发版本的React Fiber进行操作,如上所述。


启动检查员的方法

安装 React Developer Tools 并在启动 React 的开发服务器的情况下,可以通过以下三种方法启动检查器。


我的感受生成的东西。

    • Chrome拡張は https://crxjs.dev/ を使うとTSで楽に開発できる。

 

    • Reactの内部構造を少し知れた。Reactのソースコードを読むといろいろ発見がある。

GitHubレポジトリ公開しているのでアイデアや不具合があれば気軽にIssueください!

CleanShot 2022-09-02 at 18 08 23
    • Chrome web store: https://chrome.google.com/webstore/detail/react-inspector/gkkcgbepkkhfnnjolcaggogkjodmlpkh

GitHub: https://github.com/hand-dot/react-inspector

广告
将在 10 秒后关闭
bannerAds