Skip to content

Commit b66f183

Browse files
committed
feat(devtools): Allow editing context value
1 parent d35f8a5 commit b66f183

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

packages/react-devtools-shared/src/devtools/views/Components/SelectedElement.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import {
3333
ElementTypeFunction,
3434
ElementTypeMemo,
3535
ElementTypeSuspense,
36+
ElementTypeContext,
3637
} from 'react-devtools-shared/src/types';
3738

3839
import styles from './SelectedElement.css';
@@ -362,6 +363,13 @@ function InspectedElementView({
362363
});
363364
}
364365
};
366+
} else if (type === ElementTypeContext) {
367+
overridePropsFn = (path: Array<string | number>, value: any) => {
368+
const rendererID = store.getRendererIDForElement(id);
369+
if (rendererID !== null) {
370+
bridge.send('overrideProps', {id, path, rendererID, value});
371+
}
372+
};
365373
}
366374

367375
return (
@@ -375,7 +383,9 @@ function InspectedElementView({
375383
overrideValueFn={overridePropsFn}
376384
pathRoot="props"
377385
showWhenEmpty={true}
378-
canAddEntries={typeof overridePropsFn === 'function'}
386+
canAddEntries={
387+
typeof overridePropsFn === 'function' && type !== ElementTypeContext
388+
}
379389
/>
380390
{type === ElementTypeSuspense ? (
381391
<InspectedElementTree

packages/react-devtools-shell/src/app/InspectableElements/Contexts.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,9 @@ export default function Contexts() {
104104
<LegacyContextConsumer />
105105
</LegacyContextProvider>
106106
<ModernContext.Provider value={contextData}>
107-
<ModernContext.Consumer>{value => null}</ModernContext.Consumer>
107+
<ModernContext.Consumer>
108+
{value => <pre>{JSON.stringify(value, null, 2)}</pre>}
109+
</ModernContext.Consumer>
108110
<ModernContextType />
109111
</ModernContext.Provider>
110112
<FunctionalContextConsumer />

0 commit comments

Comments
 (0)