Handling Side Effects, Using Reducers, and Using the Context API useEffect With dependencies With Cleanup useReducer React Context API useContext Custom context provider useRef, forwardRef, useImperativeHandle