Rewind: A Time Travel Debugger for React useReducer
Designed to help engineers fix bugs faster by recording and replaying through different states of their applications. Debug your app more easily by “rewinding” your session instead of having to wait to reproduce the issue once you find the problem.
- Press record and start interacting with your application.
- Each dispatched action will be stored as a unique event in time.
- Rewind through your recorded actions with the back button or by dragging the slider.
- Analyze the state, the effects and the action object of every dispatched event.
- Press play and watch your app change!
React Rewind is in active development. Follow this repo for contribution guidelines.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
You must use an unminified version of React. Also, your application must be using the hook
useReducer for actions to be recorded.
You can install it from the Chrome Web Store.
To install locally, setup instructions are as follows:
git clone --single-branch --branch beta-release https://github.com/reactrewind/react-rewind.git
- Visit the URL
- Click Load Unpacked button and select the folder
- On your application page, open the Chrome Developer (Ctrl + Shift + J / Mac: Cmd + Option + I) tools and select
React Rewindfrom the tool bar
- Click Record and begin interacting with your application
As you interact with your application, actions will populate the events panel. Click on these actions to view more details about them, such as the action object that was dispatched, the effects or state difference, and the whole state of the application after the dispatch. The time slider panel allows you to rewind, fast forward, and play through all recorded actions.
|events||action types and time since last dispatch|
|actions||the action object that was dispatched|
|effects||difference between the states before and after the action was dispatched|
|state||the state object after the action was dispatched|
Please fork this repo. We welcome pull requests. For suggestions or to report bugs please log an issue.
This project is licensed under the MIT License - see the LICENCE.md file for details