Skip to content

Commit 597af0f

Browse files
author
Brian Vaughn
committed
PR feedback:
1. Renamed useDebugValueLabel hook to useDebugValue 2. Wrapped useDebugValue internals in if-DEV so that it could be removed from production builds.
1 parent 3e20cf6 commit 597af0f

File tree

7 files changed

+27
-33
lines changed

7 files changed

+27
-33
lines changed

packages/react-debug-tools/src/ReactDebugHooks.js

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ function getPrimitiveStackCache(): Map<string, Array<any>> {
5555
Dispatcher.useLayoutEffect(() => {});
5656
Dispatcher.useEffect(() => {});
5757
Dispatcher.useImperativeHandle(undefined, () => null);
58-
Dispatcher.useDebugValueLabel(null);
58+
Dispatcher.useDebugValue(null);
5959
Dispatcher.useCallback(() => {});
6060
Dispatcher.useMemo(() => null);
6161
} finally {
@@ -181,9 +181,9 @@ function useImperativeHandle<T>(
181181
});
182182
}
183183

184-
function useDebugValueLabel(valueLabel: any) {
184+
function useDebugValue(valueLabel: any) {
185185
hookLog.push({
186-
primitive: 'DebugValueLabel',
186+
primitive: 'DebugValue',
187187
stackError: new Error(),
188188
value: valueLabel,
189189
});
@@ -214,12 +214,8 @@ const Dispatcher = {
214214
useCallback,
215215
useContext,
216216
useEffect,
217-
<<<<<<< HEAD
218217
useImperativeHandle,
219-
=======
220-
useImperativeMethods,
221-
useDebugValueLabel,
222-
>>>>>>> Support custom values for custom hooks
218+
useDebugValue,
223219
useLayoutEffect,
224220
useMemo,
225221
useReducer,
@@ -418,19 +414,19 @@ function buildTree(rootStack, readHookLog): HooksTree {
418414
}
419415

420416
// Associate custom hook values (useInpect() hook entries) with the correct hooks
421-
rootChildren.forEach(hooksNode => rollupDebugValueLabels(hooksNode));
417+
rootChildren.forEach(hooksNode => rollupDebugValues(hooksNode));
422418

423419
return rootChildren;
424420
}
425421

426-
function rollupDebugValueLabels(hooksNode: HooksNode): void {
422+
function rollupDebugValues(hooksNode: HooksNode): void {
427423
let useInpectHooksNodes: Array<HooksNode> = [];
428424
hooksNode.subHooks = hooksNode.subHooks.filter(subHooksNode => {
429-
if (subHooksNode.name === 'DebugValueLabel') {
425+
if (subHooksNode.name === 'DebugValue') {
430426
useInpectHooksNodes.push(subHooksNode);
431427
return false;
432428
} else {
433-
rollupDebugValueLabels(subHooksNode);
429+
rollupDebugValues(subHooksNode);
434430
return true;
435431
}
436432
});

packages/react-debug-tools/src/__tests__/ReactHooksInspection-test.internal.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ describe('ReactHooksInspection', () => {
4646
it('should inspect a simple custom hook', () => {
4747
function useCustom(value) {
4848
let [state] = React.useState(value);
49-
React.useDebugValueLabel('custom hook label');
49+
React.useDebugValue('custom hook label');
5050
return state;
5151
}
5252
function Foo(props) {

packages/react-debug-tools/src/__tests__/ReactHooksInspectionIntegration-test.internal.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -235,11 +235,11 @@ describe('ReactHooksInspectionIntergration', () => {
235235
]);
236236
});
237237

238-
describe('useDebugValueLabel', () => {
238+
describe('useDebugValue', () => {
239239
it('should support inspectable values for multiple custom hooks', () => {
240240
function useLabeledValue(label) {
241241
let [value] = React.useState(label);
242-
React.useDebugValueLabel(`custom label ${label}`);
242+
React.useDebugValue(`custom label ${label}`);
243243
return value;
244244
}
245245
function useAnonymous(label) {
@@ -285,10 +285,10 @@ describe('ReactHooksInspectionIntergration', () => {
285285

286286
it('should support inspectable values for nested custom hooks', () => {
287287
function useInner() {
288-
React.useDebugValueLabel('inner');
288+
React.useDebugValue('inner');
289289
}
290290
function useOuter() {
291-
React.useDebugValueLabel('outer');
291+
React.useDebugValue('outer');
292292
useInner();
293293
}
294294
function Example(props) {
@@ -312,12 +312,12 @@ describe('ReactHooksInspectionIntergration', () => {
312312

313313
it('should support multiple inspectable values per custom hooks', () => {
314314
function useMultiLabelCustom() {
315-
React.useDebugValueLabel('one');
316-
React.useDebugValueLabel('two');
317-
React.useDebugValueLabel('three');
315+
React.useDebugValue('one');
316+
React.useDebugValue('two');
317+
React.useDebugValue('three');
318318
}
319319
function useSingleLabelCustom(value) {
320-
React.useDebugValueLabel(`single ${value}`);
320+
React.useDebugValue(`single ${value}`);
321321
}
322322
function Example(props) {
323323
useSingleLabelCustom('one');

packages/react-reconciler/src/ReactFiberDispatcher.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
useContext,
1414
useEffect,
1515
useImperativeHandle,
16-
useDebugValueLabel,
16+
useDebugValue,
1717
useLayoutEffect,
1818
useMemo,
1919
useReducer,
@@ -27,7 +27,7 @@ export const Dispatcher = {
2727
useContext,
2828
useEffect,
2929
useImperativeHandle,
30-
useDebugValueLabel,
30+
useDebugValue,
3131
useLayoutEffect,
3232
useMemo,
3333
useReducer,

packages/react-reconciler/src/ReactFiberHooks.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -588,7 +588,7 @@ export function useImperativeHandle<T>(
588588
}, nextInputs);
589589
}
590590

591-
export function useDebugValueLabel(valueLabel: string): void {
591+
export function useDebugValue(valueLabel: string): void {
592592
// This hook is normally a no-op.
593593
// The react-debug-hooks package injects its own implementation
594594
// so that e.g. DevTools can display customhook values.

packages/react/src/React.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import {
3333
useContext,
3434
useEffect,
3535
useImperativeHandle,
36-
useDebugValueLabel,
36+
useDebugValue,
3737
useLayoutEffect,
3838
useMemo,
3939
useReducer,
@@ -99,12 +99,8 @@ if (enableHooks) {
9999
React.useCallback = useCallback;
100100
React.useContext = useContext;
101101
React.useEffect = useEffect;
102-
<<<<<<< HEAD
103102
React.useImperativeHandle = useImperativeHandle;
104-
=======
105-
React.useImperativeMethods = useImperativeMethods;
106-
React.useDebugValueLabel = useDebugValueLabel;
107-
>>>>>>> Support custom values for custom hooks
103+
React.useDebugValue = useDebugValue;
108104
React.useLayoutEffect = useLayoutEffect;
109105
React.useMemo = useMemo;
110106
React.useReducer = useReducer;

packages/react/src/ReactHooks.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,9 @@ export function useImperativeHandle<T>(
111111
return dispatcher.useImperativeHandle(ref, create, inputs);
112112
}
113113

114-
export function useDebugValueLabel(valueLabel: string) {
115-
const dispatcher = resolveDispatcher();
116-
return dispatcher.useDebugValueLabel(valueLabel);
114+
export function useDebugValue(valueLabel: string) {
115+
if (__DEV__) {
116+
const dispatcher = resolveDispatcher();
117+
return dispatcher.useDebugValue(valueLabel);
118+
}
117119
}

0 commit comments

Comments
 (0)