Welcome to the React Hooks Documentation! Hooks are a feature of React (starting from version 16.8) that let you "hook into" React state and lifecycle features from function components.

Quick Start

Here's a quick overview of the most commonly used hooks:

  • useState: Adds React state to function components
  • useEffect: Adds React lifecycle features like componentDidMount, componentDidUpdate, and componentWillUnmount
  • useContext: Accesses React context without a provider
  • useReducer: A hook similar to useState for more complex state logic that involves multiple sub-values or when the next state depends on the previous one
  • useCallback: Memoizes a callback
  • useMemo: Memoizes a value

useState

The useState hook allows you to add React state to function components.

import React, { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  return (
    <div>
      <p>You clicked {count} times</p>
      <button onClick={() => setCount(count + 1)}>
        Click me
      </button>
    </div>
  );
}

Counter Example

useEffect

The useEffect hook runs a function after each render. This is useful for fetching data, handling lifecycle events, and more.

import React, { useState, useEffect } from 'react';

function Example() {
  const [data, setData] = useState(null);

  useEffect(() => {
    fetchData().then(setData);
  }, []); // Empty dependency array means this effect runs only once

  return (
    <div>
      {data ? <div>{JSON.stringify(data)}</div> : <p>Loading...</p>}
    </div>
  );
}

UseEffect Example

For more information, visit the official React Hooks documentation.


If you're looking for more resources on React Hooks, check out our Advanced React Hooks Guide.