import React, { useContext, useEffect, useRef } from "react"; import { IBulkEditProps } from "../IBulkEditProps"; const propsRefContext = React.createContext({}); // This provides an easy way to access the table props throughout the component // tree if you don't care about rerendering. export const usePropsRef = () => useContext>>( propsRefContext as unknown as React.Context< React.MutableRefObject> > ); export const PropsRefProvider = ({ props, children, }: { props: IBulkEditProps; children: React.ReactNode; }) => { const propsRef = useRef(props); useEffect(() => { propsRef.current = props; }, [props]); return ( {children} ); };