Currently, Reactime supports React apps using stateful components and Hooks, with beta support for Recoil and Context API.
Reactime verision 6.0 beta extends the core functionality by including support for Recoil. The latest release incorporates additional visualizations for component relationships as well as atom-selector relationships for Recoil applications. Reactime 6.0 includes expanded typedoc documentation for developers looking to contribute to the source code.
After installing Reactime, you can test its functionalities with the following demo repositories:
Reactime 6.0: State Debugger for React alternatives and similar libraries
Based on the "Redux" category.
Alternatively, view Reactime 6.0: State Debugger for React alternatives based on common mentions on social networks and blogs.
DevTools for Redux with hot reloading, action replay, and customizable UI.
Redux DevTools remotely.
Redux Beacon 2.0 Released: Analytics integration for Redux and ngrx/store
A resizable and movable dock for Redux DevTools monitors.
The default monitor for Redux DevTools with a tree view.
A chart monitor for Redux DevTools.
Another Redux DevTools Monitor.
Filterable tree view monitor for Redux DevTools.
The relevant React Events Library.
A set of tools to facilitate react-redux development and decouple logic from compontents
Do you think we are missing an alternative of Reactime 6.0: State Debugger for React or a related project?
React Performance Tool Nominated for React Open Source Awards 2020
Reactime is a performance and debugging tool for React developers (compatible with Gatsby and Next.js). It records a snapshot whenever a target application's state is changed and allows the user to jump to any previously recorded state. It also detects the amount of renders of each component and average time of rendering.
🇷🇺 РУССКАЯ ВЕРСИЯ • 🇫🇷 VERSION FRANÇAISE
How To Use • Features • Website • Read More
Currently, Reactime supports React apps using stateful components and Hooks, including frameworks like Gatsby and Next.js, with beta support for Recoil and Context API.
Reactime version 7.0 can help you to avoid unnecessary re-renders. Identifying wasted renders in your React applications is the perfect start to identifying most performance issues. Reactime 7.0 fixes previous version bugs and incorporates improved visualizations for component relationships. Reactime 7.0 includes expanded typedoc documentation for developers looking to contribute to the source code.
After installing Reactime, you can test its functionalities with your React application in development mode.
Please note, the time jumping feature will ONLY work when your application is running in development mode. In production mode, you are able to view your application’s component map but no additional features.
To get started, install the Reactime extension from Chrome Web Store.
NOTE: The React Developer Tools extension is also required for Reactime to run, if you do not already have it installed on your browser.
src/extension/build/build.zip for manual installation in Developer mode. Turn on 'Allow access to file URLs' in extension details page if testing locally.
How to Use
After installing the Chrome extension, just open up your project in the browser.
Then open up your Chrome DevTools and navigate to the Reactime panel.
❓ 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 times until you see Reactime running.
❓ There is a black screen instead of the Reactime extension
Try refreshing the application you want to test and refresh the DevTools by clicking the right mouse button “Reload frame”.
❓ I found a bug in Reactime
Reactime is an open source project, and we’d really appreciate your help with improving user experience. Please, create a pull request (or issue) to propose and collaborate on changes to a repository.
🔹 Re-render Optimization
One of the most common issues that affects performance in React is unnecessary render cycles. This problem can be fixed by checking your renders in the Performance tab in Chrome DevTools under the Reactime panel.
Reactime offers fully support for Gatsby applications. You would be able to identify unnecessary renders, duration of each rendering, travel-debugging features and visual representation of the tree components.
Reactime offers debugging and performance tools for Next.js apps: time-traveling debugging, preventing unnecessary components re-renders and making your application faster.
Whenever state is changed (whenever setState, useState is called), this extension will create a snapshot of the current state tree and record it. Each snapshot will be displayed in Chrome DevTools under the Reactime panel.
You can click on a snapshot to view your app's state. State can be visualized in a Component Graph, JSON Tree, or Performance Graph. Snapshots can be diffed with the previous snapshot, which can be viewed in Diff mode.
Using the actions sidebar, a user can jump to any previous recorded snapshots. Hitting the jump button on any snapshot will allow a user to view state data at any point in the history of the target application.
🔹 TypeScript Support
Reactime offers beta support for TypeScript applications using stateful class components and functional components. Further testing and development is required for custom hooks, Context API, and Concurrent Mode.
After cloning this repository, developers can simply run
npm run docs at the root level and serve the dynamically generated
/docs/index.html file on a browser. Doing so will provide a readable, extensible, and interactive GUI view of the structure and interfaces of the codebase.
- identifying unnecessary re-renders
- hover functionality to view tooltip details on state visualizations
- ability to pan and zoom on state visualizations
- a dropdown to support development of projects on multiple tabs
- a slider to move through snapshots quickly
- a play button to move through snapshots automatically
- a lock button, which stops recording each snapshot
- a persist button to keep snapshots upon refresh (handy when changing code and debugging)
- download/upload the current snapshots in memory
- declarative titles in the actions sidebar
- Time-Travel State with Reactime
- React Fiber and Reactime
- Meet Reactime - a time-traveling State Debugger for React
- Deep in Weeds with Reactime, Concurrent React_fiberRoot, and Browser History Caching
- Becca Viner - @rtviner
- Caitlin Chan - @caitlinchan23
- Kim Mai Nguyen - @Nkmai
- Tania Lind - @lind-tania
- Alex Landeros - @AlexanderLanderos
- Chris Guizzetti - @guizzettic
- Jason Victor - @theqwertypusher
- Sanjay Lavingia - @sanjaylavingia
- Vincent Nguyen - @guizzettic
- Haejin Jo - @haejinjo
- Hien Nguyen - @hienqn
- Jack Crish - @JackC27
- Kevin Fey - @kevinfey
- Carlos Perez - @crperezt
- Edwin Menendez - @edwinjmenendez
- Gabriela Jardim Aquino - @aquinojardim
- Greg Panciera - @gpanciera
- Nathanael Wa Mwenze - @nmwenz90
- Ryan Dang - @rydang
- Bryan Lee - @mylee1995
- Josh Kim - @joshua0308
- Sierra Swaby - @starkspark
- Ruth Anam - @peachiecodes
- David Chai - @davidchaidev
- Yujin Kang - @yujinkay
- Andy Wong - @andywongdev
- Chris Flannery - @chriswillsflannery
- Rajeeb Banstola - @rajeebthegreat
- Prasanna Malla - @prasmalla
- Rocky Lin - @rocky9413
- Abaas Khorrami - @dubalol
- Ergi Shehu - @Ergi516
- Raymond Kwan - @rkwn
- Joshua Howard - @Joshua-Howard
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details
*Note that all licence references and agreements mentioned in the Reactime 6.0: State Debugger for React README section above are relevant to that project's source code only.