DevTools() — react Function Reference
Architecture documentation for the DevTools() function in DevTools.js from the react codebase.
Entity Profile
Dependency Diagram
graph TD 364bb6ab_2e5f_4a8c_dd84_d1824ad9ee86["DevTools()"] e2c52a93_982e_407f_9fee_e89aa134ae9d["DevTools.js"] 364bb6ab_2e5f_4a8c_dd84_d1824ad9ee86 -->|defined in| e2c52a93_982e_407f_9fee_e89aa134ae9d f8027c1d_4d83_6db4_6353_968f6a09e324["useIsSuspenseTabEnabled()"] 364bb6ab_2e5f_4a8c_dd84_d1824ad9ee86 -->|calls| f8027c1d_4d83_6db4_6353_968f6a09e324 style 364bb6ab_2e5f_4a8c_dd84_d1824ad9ee86 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/react-devtools-shared/src/devtools/views/DevTools.js lines 154–412
export default function DevTools({
bridge,
browserTheme = 'light',
canViewElementSourceFunction,
componentsPortalContainer,
editorPortalContainer,
inspectedElementPortalContainer,
profilerPortalContainer,
suspensePortalContainer,
currentSelectedSource,
defaultTab = 'components',
enabledInspectedElementContextMenu = false,
fetchFileWithCaching,
hookNamesModuleLoaderFunction,
overrideTab,
showTabBar = false,
store,
warnIfLegacyBackendDetected = false,
warnIfUnsupportedVersionDetected = false,
viewAttributeSourceFunction,
viewElementSourceFunction,
readOnly,
hideSettings,
hideToggleErrorAction,
hideToggleSuspenseAction,
hideLogAction,
hideViewSourceAction,
}: Props): React.Node {
const [currentTab, setTab] = useLocalStorage<TabID>(
LOCAL_STORAGE_DEFAULT_TAB_KEY,
defaultTab,
);
const enableSuspenseTab = useIsSuspenseTabEnabled(store);
const tabs = enableSuspenseTab ? tabsWithSuspense : defaultTabs;
let tab = currentTab;
if (overrideTab != null) {
tab = overrideTab;
}
const selectTab = useCallback(
(tabId: TabID) => {
// We show the TabBar when DevTools is NOT rendered as a browser extension.
// In this case, we want to capture when people select tabs with the TabBar.
// When DevTools is rendered as an extension, we capture this event when
// the browser devtools panel changes.
if (showTabBar === true) {
if (tabId === 'components') {
logEvent({event_name: 'selected-components-tab'});
} else if (tabId === 'suspense') {
logEvent({event_name: 'selected-suspense-tab'});
} else {
logEvent({event_name: 'selected-profiler-tab'});
}
}
setTab(tabId);
},
[setTab, showTabBar],
);
const options = useMemo(
() => ({
readOnly: readOnly || false,
hideSettings: hideSettings || false,
hideToggleErrorAction: hideToggleErrorAction || false,
hideToggleSuspenseAction: hideToggleSuspenseAction || false,
hideLogAction: hideLogAction || false,
hideViewSourceAction: hideViewSourceAction || false,
}),
[
readOnly,
hideSettings,
hideToggleErrorAction,
hideToggleSuspenseAction,
hideLogAction,
hideViewSourceAction,
],
);
const viewElementSource = useMemo(
Domain
Subdomains
Source
Frequently Asked Questions
What does DevTools() do?
DevTools() is a function in the react codebase, defined in packages/react-devtools-shared/src/devtools/views/DevTools.js.
Where is DevTools() defined?
DevTools() is defined in packages/react-devtools-shared/src/devtools/views/DevTools.js at line 154.
What does DevTools() call?
DevTools() calls 1 function(s): useIsSuspenseTabEnabled.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free