UNPKG

@linzjs/step-ag-grid

Version:

[![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release) > Reusable [ag-grid](https://www.ag-grid.com/) component for LINZ / Toitū te whenua.

25 lines (22 loc) 757 B
import { MutableRefObject } from 'react'; import { useLayoutEffect } from './useIsomorphicLayoutEffect'; export const useItemEffect = ( isDisabled: boolean | undefined, menuItemRef: MutableRefObject<any> | undefined, updateItems: (item: any, isMounted?: boolean) => void, ) => { useLayoutEffect(() => { if (!menuItemRef) return; if (process.env.NODE_ENV !== 'production' && !updateItems) { throw new Error( `[React-Menu] This menu item or submenu should be rendered under a menu: ${menuItemRef.current.outerHTML}`, ); } if (isDisabled) return; const item = menuItemRef.current; updateItems(item, true); return () => { updateItems(item); }; }, [isDisabled, menuItemRef, updateItems]); };