Last active
April 2, 2025 20:50
-
-
Save blopa/b724d30d952fe222ab0e5cd5c3de31f9 to your computer and use it in GitHub Desktop.
Code for post "How to get the Redux State from a production build via the browser's console"
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Traverse a dom element | |
| const stores = new Set(); | |
| const traverse = (element) => { | |
| let store = | |
| element?.memoizedState?.element?.props?.store | |
| || element?.pendingProps?.store | |
| || element?.stateNode?.store; | |
| if (store) { | |
| stores.add(store); | |
| } | |
| if (element.child) { | |
| traverse(element.child); | |
| } | |
| }; | |
| // Find the root element for React | |
| const reactRoot = Array.from(document.querySelectorAll("*[id]")).find((el) => el?._reactRootContainer?._internalRoot?.current); | |
| const internalRoot = reactRoot._reactRootContainer._internalRoot.current; | |
| // Traverse the root react element to find all Redux States in the app | |
| traverse(internalRoot); |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@rossmeyerza oh wow, yeah, indeed! Nice catch! Cheers!