Skip to content

React

"React is an open-source JavaScript library for building user interfaces. It is maintained by Facebook and a community of individual developers and companies. React can be used as a base in the development of single-page or mobile applications."

Features

  • Declarative - "Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes."
  • Component-based - "Build encapsulated components that manage their own state, then compose them to make complex UIs."
  • Learn Once, Write Anywhere - "We donโ€™t make assumptions about the rest of your technology stack, so you can develop new features in React without rewriting existing code."

Resources

Utilities

Hooks

Official

Basic

  • useState
  • useEffect
  • useContext

Additional

  • useReducer
  • useCallback
  • useMemo
  • useRef
  • useImperativeHandle
  • useLayoutEffect
  • useDebugValue

Newer

  • useDeferredValue
  • useTransition
  • useId
  • useSyncExternalStore
  • useInsertionEffect

(https://youtu.be/uCEYAz_bTd4)

3rd Party

  • usePagination
  • useHotKey
  • useFullscreen
  • useIntersection

External Data

Visual Effects

UI Frameworks

Charts

Libraries (TODO split this is into sub categories)

React Native Libraries

Examples

Error Boundaries

"In the past, JavaScript errors inside components used to corrupt Reactโ€™s internal state and cause it to emit cryptic errors on next renders. These errors were always caused by an earlier error in the application code, but React did not provide a way to handle them gracefully in components, and could not recover from them."

More details.

React Suspense

"React.Suspense is a component that tells React to wait for some code-splitting to load before rendering the component. Itโ€™s a way to declaratively โ€œsuspendโ€ rendering while some async work is happening, and show a spinner, or a loading state, or anything else while we wait."