diff --git a/packages/react/src/ReactHooks.js b/packages/react/src/ReactHooks.js index 06d61d2238..ba6b0ffbcb 100644 --- a/packages/react/src/ReactHooks.js +++ b/packages/react/src/ReactHooks.js @@ -93,6 +93,14 @@ export function useEffect( updateDeps?: Array | void | null, destroy?: ((resource: {...} | void | null) => void) | void, ): void { + if (__DEV__) { + if (create == null) { + console.warn( + 'React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?', + ); + } + } + const dispatcher = resolveDispatcher(); if ( enableUseEffectCRUDOverload && @@ -118,6 +126,14 @@ export function useInsertionEffect( create: () => (() => void) | void, deps: Array | void | null, ): void { + if (__DEV__) { + if (create == null) { + console.warn( + 'React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?', + ); + } + } + const dispatcher = resolveDispatcher(); return dispatcher.useInsertionEffect(create, deps); } @@ -126,6 +142,14 @@ export function useLayoutEffect( create: () => (() => void) | void, deps: Array | void | null, ): void { + if (__DEV__) { + if (create == null) { + console.warn( + 'React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?', + ); + } + } + const dispatcher = resolveDispatcher(); return dispatcher.useLayoutEffect(create, deps); }