🌐
React
react.dev › learn › react-developer-tools
React Developer Tools – React
The easiest way to debug websites built with React is to install the React Developer Tools browser extension. It is available for several popular browsers: Install for Chrome · Install for Firefox · Install for Edge · Now, if you visit a ...
🌐
Chrome Web Store
chromewebstore.google.com › detail › react-developer-tools › fmkadmapgofadopljbjfkapdkoienihi
React Developer Tools - Chrome Web Store
React Developer Tools is a Chrome DevTools extension for the open-source React JavaScript library. It allows you to inspect the React component hierarchies in the Chrome Developer Tools.
Discussions

React Developer Tools not appearing in Chrome
They've been really finicky for me lately too. I'd recommend trying to restart the browser. Also, closing the chrome dev tools and reopening it usually helps the react extension show up finally for me. More on reddit.com
🌐 r/reactjs
9
4
November 4, 2023
Advice on how/if I should be building a chrome extension with react.js
Certainly mate! First off, using React JS in a Chrome extension is totally doable, but you'll need to be mindful of a few things, especially when it comes to Manifest version 3. Manifest v3 introduces some changes, particularly in how content scripts operate. Here's what you can do! Start by creating a new React app using Create React App or any other boilerplate you prefer. Make sure your project structure is organized. You'll likely have folders for components, content scripts, background scripts, etc. Manifest v3 introduces a more secure and efficient way of building extensions. One key change is the shift towards using service workers instead of content scripts for executing code. While React works well with content scripts, you need to be careful with how you inject React components into web pages. One approach is to compile your React code and bundle it into a single JavaScript file that you can then inject into the page using content scripts. Remember to use ReactDOM.render() to mount your React components onto the page. In Manifest v3, communication between content scripts and background scripts is done via message passing and you'll keep running into issues with the same(status code 15 errors with failed to establish connection 😁) Use chrome.runtime.sendMessage() to send messages from your content scripts to your background scripts, and chrome.runtime.onMessage.addListener() to listen for messages in your background scripts. Testing your extension is crucial. Use the Chrome Developer Tools to inspect your background scripts, content scripts, and any other parts of your extension. Pay attention to the console for any errors or warnings. Once you're confident in your extension, you can package it up and publish it to the Chrome Web Store. ! More on reddit.com
🌐 r/chrome_extensions
12
17
May 1, 2024
reactjs - Why does chrome detect a react app and ask to download it - Stack Overflow
I didn't notice it before but recently when working on react apps and testing, my chrome browser just recently started asking me if i wanted to download the site normally it does the same for web a... More on stackoverflow.com
🌐 stackoverflow.com
Using chrome api with React.js - javascript
So it appears putting /*global chrome*/ on top of file works, but I would like to explain why it works - First of all you are using React, and the eslint configuration of React is hidden internally and by default the no-undef rule is enabled, so you can not use the undefined variable chrome ... More on stackoverflow.com
🌐 stackoverflow.com
🌐
React Native
reactnative.dev › docs › react-native-devtools
React Native DevTools · React Native
February 20, 2026 - React Native DevTools supports all React Native apps running Hermes. It replaces the previous Flipper, Experimental Debugger, and Hermes debugger (Chrome) frontends.
🌐
Codecademy
codecademy.com › article › react-devtools-tutorial
How to Use React Developer Tools (With Example) | Codecademy
Learn to install and use React Developer Tools to inspect components, debug apps, and modify React elements in Chrome.
🌐
GitHub
github.com › satendra02 › react-chrome-extension
GitHub - satendra02/react-chrome-extension: chrome extension boilerplate with ReactJs using inject page strategy
A chrome extension boilerplate project with ReactJs using inject page strategy.
Starred by 647 users
Forked by 134 users
Languages   JavaScript 96.1% | HTML 2.7% | CSS 1.2% | JavaScript 96.1% | HTML 2.7% | CSS 1.2%
🌐
DebugBear
debugbear.com › blog › react-devtools
Getting Started with React DevTools in Chrome | DebugBear
December 1, 2025 - React DevTools is a powerful Chrome extension that helps you debug your React app and optimize its performance.
🌐
Medium
medium.com › @5tigerjelly › creating-a-chrome-extension-with-react-and-vite-boilerplate-provided-db3d14473bf6
Creating a Chrome Extension with React and Vite (Boilerplate provided) | by Chris Oh | Medium
July 7, 2024 - In this post, I’ll share my experience creating a Chrome extension, from using vanilla HTML, JS, and CSS to eventually migrating to React and using Vite for compilation.
Find elsewhere
🌐
React
legacy.reactjs.org › blog › 2014 › 01 › 02 › react-chrome-developer-tools.html
React Chrome Developer Tools – React Blog
January 2, 2014 - Download them from the Chrome Web Store. You will get a new tab titled “React” in your Chrome DevTools. This tab shows you a list of the root React Components that are rendered on the page as ...
🌐
Reddit
reddit.com › r/reactjs › react developer tools not appearing in chrome
r/reactjs on Reddit: React Developer Tools not appearing in Chrome
November 4, 2023 -

For some reason I cannot find the developer tools in Chrome. Why could that be?

I posted my question in StackOverflow, but I hope I could find here a solution faster:
https://stackoverflow.com/questions/77421852/react-developer-tools-wont-appear-in-chrome

I uploaded pictures in that link, in case you want to see it directly.

Please help!

🌐
GitHub
github.com › lxieyang › chrome-extension-boilerplate-react
GitHub - lxieyang/chrome-extension-boilerplate-react: A Chrome Extensions boilerplate using React 18 and Webpack 5. · GitHub
A Chrome Extensions boilerplate using React 18 and Webpack 5. - lxieyang/chrome-extension-boilerplate-react
Starred by 4K users
Forked by 1.2K users
Languages   JavaScript 75.7% | CSS 13.9% | HTML 7.3% | TypeScript 2.7% | SCSS 0.4%
🌐
Reddit
reddit.com › r/chrome_extensions › advice on how/if i should be building a chrome extension with react.js
r/chrome_extensions on Reddit: Advice on how/if I should be building a chrome extension with react.js
May 1, 2024 -

Exactly what the title says. I'm having to work with content_scripts and background. Wondering if anyone has any advice to give on this topic and whether it scales well when using chrome.storage.

tldr: Does react.js mix poorly with manifest V3 protocols?

UPDATE: React works just fine with manifest V3, I actually recommend using it. The SPA of react works extremely well in reducing the load on a server required to run your application. I highly recommend using react AND chrome.storage. It has 5-10MB of storage which is an insane amount that can be leverage either for later use once your application gets funding or is great just because it too can reduce server load and is very safe to use.

HOPE THE UPDATE HELPS

Top answer
1 of 4
4
Certainly mate! First off, using React JS in a Chrome extension is totally doable, but you'll need to be mindful of a few things, especially when it comes to Manifest version 3. Manifest v3 introduces some changes, particularly in how content scripts operate. Here's what you can do! Start by creating a new React app using Create React App or any other boilerplate you prefer. Make sure your project structure is organized. You'll likely have folders for components, content scripts, background scripts, etc. Manifest v3 introduces a more secure and efficient way of building extensions. One key change is the shift towards using service workers instead of content scripts for executing code. While React works well with content scripts, you need to be careful with how you inject React components into web pages. One approach is to compile your React code and bundle it into a single JavaScript file that you can then inject into the page using content scripts. Remember to use ReactDOM.render() to mount your React components onto the page. In Manifest v3, communication between content scripts and background scripts is done via message passing and you'll keep running into issues with the same(status code 15 errors with failed to establish connection 😁) Use chrome.runtime.sendMessage() to send messages from your content scripts to your background scripts, and chrome.runtime.onMessage.addListener() to listen for messages in your background scripts. Testing your extension is crucial. Use the Chrome Developer Tools to inspect your background scripts, content scripts, and any other parts of your extension. Pay attention to the console for any errors or warnings. Once you're confident in your extension, you can package it up and publish it to the Chrome Web Store. !
2 of 4
3
I would highly, highly recommend the vite crx plugin: https://crxjs.dev/vite-plugin/getting-started/react/create-project , particularly if you have any DOM, or use a side panel. I used it for my latest extension. It lets me hot-reload the extension when developing which saves you a ton of time. Some small boilerplate to start but once that's done it's a dream. Then you can build and deploy to a zip and upload with no dramas.
🌐
GitHub
github.com › facebook › react-devtools
GitHub - facebook/react-devtools: An extension that allows inspection of React component hierarchy in the Chrome and Firefox Developer Tools. · GitHub
An extension that allows inspection of React component hierarchy in the Chrome and Firefox Developer Tools. - facebook/react-devtools
Starred by 11K users
Forked by 1.8K users
Top answer
1 of 6
39

You can define chrome by adding /*global chrome*/ in the top of the file.

For Example

    /*global chrome*/
import React, { Component } from 'react';
import './App.css';

    class App extends Component {
        componentWillMount() {
            chrome.storage.local.set({ 'data' : 'Your data'}, function(result) {
                console.log(" Data saved ")
            });
        }

        render() {
            return (
              <div className="App">
              </div>
            );
        }
    }

    export default App;
2 of 6
6

So it appears putting /*global chrome*/ on top of file works, but I would like to explain why it works -

First of all you are using React, and the eslint configuration of React is hidden internally and by default the no-undef rule is enabled, so you can not use the undefined variable chrome in order to allow this you have to tell eslint to let it allow compilation even if chrome is undefined.

It has nothing to do with react or typescript, its an es-lint issue.

Here I will show you an example on eslint playground -

Upon running the code above I will get that console is not defines, and the reason for that is eslint is unaware of console API

You have various options to resolve the issue -

  1. You can add browser if you are using browser in the env, but in your case you can use webExtensions to true
  2. you can define globals in config file, using {"global" : {}} as also mentioned in another answer.
  3. temporarily you can do /* global your_identifier */

Right thing to do would be change your env in eslint config as follows

 "env": {
        "webextensions": true
    }

For more visit

  • 1 - https://eslint.org/docs/latest/rules/no-undef
  • 2 - https://eslint.org/docs/latest/user-guide/configuring/language-options#specifying-globals
🌐
npm
npmjs.com › package › react-devtools
react-devtools - npm
However, when react-devtools is running, Inspector will enter a special collapsed mode, and instead use the DevTools as primary UI. In this mode, clicking on something in the simulator will bring up the relevant components in the DevTools: You can choose "Hide Inspector" in the same menu to exit this mode. When debugging JavaScript in Chrome, you can inspect the props and state of the React components in the browser console.
      » npm install react-devtools
    
Published   Oct 20, 2025
Version   7.0.1
🌐
Medium
medium.com › litslink › how-to-create-google-chrome-extension-using-react-js-5c9e343323ff
How To Create A Google Chrome Extension With React | by Artem Diashkin | LITSLINK | Medium
July 16, 2021 - How To Create A Google Chrome Extension With React Let’s take a look at how we can create a popup Google Chrome extension using React, TypeScript and craco npm package What will be covered in this …
🌐
HackerNoon
hackernoon.com › how-to-create-a-chrome-extension-with-react
How to Create a Chrome Extension with React | HackerNoon
June 5, 2023 - Chrome Extensions, React SPA, Manifest V3, Building Chrome Extensions, Web Extension API, Service Workers, TypeScript, CRA
🌐
Chrome Web Store
chromewebstore.google.com › detail › reactime › cgibknllccemdnfhfpmjhffpjfeidjga
Reactime - Chrome Web Store
A Chrome extension for time travel debugging and performance monitoring in React applications.