reactuals
Version:
A useful package providing a collection of 50+ React hooks and utilities to simplify React development.
22 lines (21 loc) • 600 B
JavaScript
import { useEffect } from "react";
/**
* Runs useEffect only if condition is true.
*
* @param condition - Boolean to enable/disable the effect
* @param callback - Effect callback
* @param deps - Dependency array
*
* Example:
* useConditionalEffect(isVisible, () => {
* console.log("Effect only runs when visible");
* }, [isVisible]);
*/
export function useConditionalEffect(condition, callback, deps) {
useEffect(() => {
if (condition) {
return callback();
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [condition, ...deps]);
}