@samitouri / QOS-React / commits / 153a0b5980

Add noop useDebugValue hook to partial/server renderer (#14597)

Brian Vaughn committed Jan 15, 2019 at 11:00 UTC 153a0b5980ff8c150cb5ec2ff1c9c73959d6d810
2 files changed +16
packages/react-dom/src/__tests__/ReactDOMServerIntegrationHooks-test.internal.js
+14
@@ -26,6 +26,7 @@ let useMemo;
26 let useRef;
27 let useImperativeHandle;
28 let useLayoutEffect;
29 +let useDebugValue;
30 let forwardRef;
31 let yieldedValues;
32 let yieldValue;
@@ -48,6 +49,7 @@ function initModules() {
49 useCallback = React.useCallback;
50 useMemo = React.useMemo;
51 useRef = React.useRef;
52 + useDebugValue = React.useDebugValue;
53 useImperativeHandle = React.useImperativeHandle;
54 useLayoutEffect = React.useLayoutEffect;
55 forwardRef = React.forwardRef;
@@ -658,4 +660,16 @@ describe('ReactDOMServerHooks', () => {
660 'Hooks can only be called inside the body of a function component.',
661 );
662 });
663 +
664 + describe('useDebugValue', () => {
665 + itRenders('is a noop', async render => {
666 + function Counter(props) {
667 + const debugValue = useDebugValue(123);
668 + return <Text text={typeof debugValue} />;
669 + }
670 +
671 + const domNode = await render(<Counter />);
672 + expect(domNode.textContent).toEqual('undefined');
673 + });
674 + });
675 });
packages/react-dom/src/server/ReactPartialRendererHooks.js
+2
@@ -351,6 +351,8 @@ export const Dispatcher = {
351 useImperativeHandle: noop,
352 // Effects are not run in the server environment.
353 useEffect: noop,
354 + // Debugging effect
355 + useDebugValue: noop,
356 };
357 export const DispatcherWithoutHooks = {
358 readContext,