Option+Click a Component in the browser to instantly goto the source in your editor.
Option+Click opens the immediate Component's source
Option+Right-click opens a context menu with the parent Components' props
, fileName
, columnNumber
, and lineNumber
Works with frameworks like Next.js, Create React App, & Vite that use @babel/plugin-transform-react-jsx-source
Supports vscode
& vscode-insiders
& cursor
URL handling
Automatically tree-shaken from production
builds
Keyboard navigation in context menu (e.g. ←, →, ⏎)
More context & faster than using React DevTools:
npm install click-to-react-componentpnpm
pnpm add click-to-react-componentyarn
yarn add click-to-react-component
Even though click-to-react-component
is added to dependencies
, tree-shaking will remove click-to-react-component
from production
builds.
+import { ClickToComponent } from 'click-to-react-component'; import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; @@ -8,7 +7,6 @@ import reportWebVitals from './reportWebVitals'; const root = ReactDOM.createRoot(document.getElementById('root')); root.render( <React.StrictMode> + <ClickToComponent /> <App /> </React.StrictMode> );
Next.js
+import { ClickToComponent } from 'click-to-react-component' import type { AppProps } from 'next/app' import '../styles/globals.css' function MyApp({ Component, pageProps }: AppProps) { return ( <> + <ClickToComponent /> <Component {...pageProps} /> </> )
Vite
+import { ClickToComponent } from "click-to-react-component"; import React from "react"; import ReactDOM from "react-dom/client"; import App from "./App"; import "./index.css"; ReactDOM.createRoot(document.getElementById("root")!).render( <React.StrictMode> <App /> + <ClickToComponent /> </React.StrictMode> );
Docusaurus
npm install @babel/plugin-transform-react-jsx-source
babel.config.js:
module.exports = { presets: [require.resolve('@docusaurus/core/lib/babel/preset')], plugins: [ ...(process.env.BABEL_ENV === 'development' ? ['@babel/plugin-transform-react-jsx-source'] : []), ], };
src/theme/Root.js:
import { ClickToComponent } from 'click-to-react-component'; import React from 'react'; // Default implementation, that you can customize export default function Root({ children }) { return ( <> <ClickToComponent /> {children} </> ); }
By default, clicking will default editor
to vscode
.
If, like me, you use vscode-insiders
, you can set editor
explicitly:
-<ClickToComponent /> +<ClickToComponent editor="vscode-insiders" />
Clone the project
gh repo clone ericclemmons/click-to-component
Go to the project directory
Install dependencies
Run one of the examples:
Create React App Next.jsRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4