1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-02 22:58:01 +00:00
Files
til/react/pass-a-function-to-a-usestate-updater.md

763 B

Pass A Function To A useState Updater

Let's say you have a component with a toggle state:

const [toggle, setToggle] = useState(false);

You can change the state of the toggle by directly passing a value to setToggle.

setToggle(true);
console.log(toggle);
//=> true

Alternatively, you can pass a function to the updater. This is called a functional update. The updater will call the function with the previous state value and update the state to whatever the function returns.

const handleToggle = (prevToggle) => {
  return !prevToggle;
}

console.log(toggle);
//=> true

setToggle(handleToggle);

console.log(toggle);
//=> false