# Core Concepts

- [React Portals & Fragments](/react/core-concepts/react-portals-and-fragments.md): Fragments: Built-in, out of the box HOC in CRA. Portals: to move React components to some other place in the Real DOM.
- [useRef() hook](/react/core-concepts/useref-hook.md): Hook to focus JSX elements in React
- [useImperativeHandle() hook](/react/core-concepts/useref-hook/useimperativehandle-hook.md): Hook to focus and reference custom components.
- [useEffect() hook](/react/core-concepts/useeffect-hook.md): Hook for side-effects.
- [useReducer() hook](/react/core-concepts/usereducer-hook.md): Hook for complex states, an alternative to useState() hook.
- [useState v/s useReducer](/react/core-concepts/usestate-v-s-usereducer.md): When to use what hook to manage state in our React app.
- [React Context API](/react/core-concepts/react-context-api.md): Create context to make data globally available across components or throughout the app.
- [useContext() hook](/react/core-concepts/react-context-api/usecontext-hook.md): Hook to avoid prop chains.
- [Performance Optimization](/react/core-concepts/performance-optimization.md): Increasing performance using useCallback() and React.memo() and useMemo() hooks.
