[react devtools] Device storage support #25213
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
__REACT_DEVTOOLS_GLOBAL_HOOK__
,injectDeviceStorageMethods
, which (in this diff) takes{ setValueOnDevice }
.setValueOnDevice
gives devtools the ability to update values in device storage. In a future diff,injectDeviceStorageMethods
will take an object with multiple properties.runApplication
, will setwindow.__REACT_DEVTOOLS_APPEND_COMPONENT_STACK__
(etc) from the values in device storage, and then callinjectDeviceStorageMethods
.injectDeviceStorageMethods
will:patchConsole
Also
patchConsole
with values from window in multiple places, centralize that in one fileBigger picture
Three things stand out as obvious follow ups:
__REACT_DEVTOOLS_APPEND_COMPONENT_STACK__
from a given key in storage. It would be better if all of that logic could exist on the react devtools side. This can be achieved by injecting{ setValueOnDevice, getValueOnDevice }
Notes
How did you test this change?