Reactime
A Chrome extension for time travel debugging and performance monitoring in React applications.
Reactime was nominated for the Productivity Booster award at React Open Source Awards 2020.
Reactime is an open source Chrome developer tool for time travel debugging and performance monitoring in React applications. Reactime enables developers to record snapshots of application state, jump between and inspect state snapshots, and monitor performance metrics such as component render time and render frequency.
Features:
- Record Snapshots of Application State and Accessibility Tree
- Provider/Consumer Panel for useContext Hook
- Import and Export Snapshots of State
- Time-Travel Debugging
- Snapshot Series Comparison
- Component Tree Visualization
- React Router Compatibility
- Component Render Time & Frequency
- Support for Gatsby, Next.js and Remix
- TypeScript Support
- Ability to Reconnect
- Web Performance Metrics
- Tutorial Walkthrough
- Prop Visualization
- Intuitive Layout and Modern Design
- Dark Mode
What’s New!
Reactime 26.0 introduces transformative updates that redefine React debugging. The groundbreaking Providers/Consumers Panel now captures and visualizes state changes from useContext hooks, offering a real-time view of provider-consumer relationships and live context state values. A revamped time travel slider delivers enhanced control over debugging with intuitive navigation and playthrough options. The extension also boasts a modernized UI with dark mode for better usability, improved reliability through critical bug fixes, and the restoration of the accessibility tree tab for addressing potential accessibility issues. With these innovations, Reactime v26 empowers developers to streamline workflows and optimize complex state flows like never before.
Troubleshooting:
❓ Why is Reactime not recording new state changes?
Reactime lost its connection to the tab you're monitoring, simply click the "reconnect" button to resume your work.
❓ Why isn’t Reactime finding my hooks?
Reactime detects and monitors hooks by traversing your application’s unminified React code in development mode. If your build process is minifying or uglifying your code—even for development builds—Reactime may not be able to properly locate and track your hooks. To fix this:
Ensure a true development build: Double-check your bundler or build tool configuration (e.g., Webpack, Babel, Vite, etc.) to make sure that your application is not minimized or uglified in development mode.
For example, with Webpack, make sure you’re running in mode: 'development', which should disable default minification.
In a Create React App project, simply running npm start or yarn start will automatically configure a non-minified development build.
Check for overrides: Ensure there are no custom Babel or Webpack plugins that minify your code, especially if you’re using frameworks like Next.js or Gatsby. Sometimes additional plugins or scripts might be running under the hood.
Restart & rebuild: After changing any build configuration, rebuild or restart your development server to ensure the new configuration is applied. Then refresh your browser tab so Reactime can detect your unminified hooks.
After changing any build configuration, rebuild or restart your development server to ensure the new configuration is applied. Then refresh your browser tab so Reactime can detect your unminified hooks.
❓ Why is Reactime telling me that no React application is found?
Reactime initially runs using the dev tools global hook from the Chrome API. It takes time for Chrome to load this. Try refreshing your application a couple of times until you see Reactime running.
❓ Why do I need to have React Dev Tools enabled?
Reactime works in tandem with the React Developer Tools to access a React application's Fiber tree; under the hood, Reactime traverses the Fiber tree through the React Developer Tool's global hook, pulling all relevant information needed to display to the developer
❓ I found a bug in Reactime
Reactime is an open-source project, and we'd love to hear from you about improving the user experience. Please read the 👩💻 Developer README, and create a pull request (or issue) to propose and collaborate on changes to Reactime.
Latest reviews
Very efficient dev tool!
Essential Tool for React Developers! Reactime is an absolute game-changer for React development. As someone working with React applications, the time-travel debugging feature has saved me countless hours of troubleshooting. You can literally move back and forth through your app's state changes and see exactly what happened at each step.
Amazing tool. Would highly recommend this to any React Developers out there! Newest updates are very useful..
This is a very useful tool to debug React applications! Looking forward to using this!
This is a very useful tool to debug React applications! Looking forward to using this!
Such an amazing developer tool that helps me debug my react application so much faster. Looking forward to any new updates that may come.
Such an amazing developer tool that helps me debug my react application so much faster. Looking forward to any new updates that may come.
Useful tool but on the latest update it shows a random number on the browser tabs which is very annoying.
Useful tool but on the latest update it shows a random number on the browser tabs which is very annoying.
Amazing new split feature!
Amazing new split feature!
Awesome tool
Awesome tool
Great extension for React devs. Highly recommend!
Great extension for React devs. Highly recommend!
Such a useful extension!! A must download!
Such a useful extension!! A must download!
Awesome tool
Awesome tool
it started spamming console logs. Maintainers should definitely add eslint rule for no console logs in the codebase
it started spamming console logs. Maintainers should definitely add eslint rule for no console logs in the codebase
I've started turning to Reactime over the react dev tools extension for time travel debugging. It works well with my react apps and makes debugging complex issues easier. I would reccomend.
I've started turning to Reactime over the react dev tools extension for time travel debugging. It works well with my react apps and makes debugging complex issues easier. I would reccomend.
Great Chrome Extension!
Great Chrome Extension!
This is a great tool, really helps with debugging and the visuals are great!
This is a great tool, really helps with debugging and the visuals are great!
Super useful tool for React developers. Easy to implement and great visualizer!
Super useful tool for React developers. Easy to implement and great visualizer!
Awesome dev tool, very useful for debugging!
Awesome dev tool, very useful for debugging!
Heard about this via the Medium article. Great tool, thanks for sharing
Heard about this via the Medium article. Great tool, thanks for sharing
Very useful tool for React!
Very useful tool for React!
So useful. Such a great tool.
So useful. Such a great tool.
What a great dev tool! The best part is definitely the data flow visualization. Really cool, and so fast. I'd recommend.
What a great dev tool! The best part is definitely the data flow visualization. Really cool, and so fast. I'd recommend.
Really helpful, and great coverage for Recoil too!
Really helpful, and great coverage for Recoil too!
Super useful tool, especially the Recoil data flow visualization. So awesome! Definitely recommend to any React developer.
Super useful tool, especially the Recoil data flow visualization. So awesome! Definitely recommend to any React developer.
Awesome dev tool. Really helped me alot debugging my app!!
Awesome dev tool. Really helped me alot debugging my app!!
This is a great dev tool! For anyone who uses React, you'll do yourself a favor by checking out this extension.
This is a great dev tool! For anyone who uses React, you'll do yourself a favor by checking out this extension.
Unfortunately with our large application using antd, redux, class components and a mixture or hooks the extension does absolutely nothing.
Unfortunately with our large application using antd, redux, class components and a mixture or hooks the extension does absolutely nothing.
What a great idea! Super helpful!