loading...
Cover image for React useState lazy initialization in one glance

React useState lazy initialization in one glance

thewizardjs profile image Thiyagaraj T ・1 min read

How

useState is the simplest React hook out in wild but it has a very interesting feature — lazy initialization
If you provide useState with a function, then it will be executed only on the initial render.


// For every render
const [state, setState] = useState(window.localStorage.getItem("key"));

// Lazy Initialization - Only once
const [state, setState] = useState(() => window.localStorage.getItem("key"));

Enter fullscreen mode Exit fullscreen mode

When to use

Any function that is computationally expensive can be initialized lazily.

Reference
https://reactjs.org/docs/hooks-reference.html#usestate

Discussion

pic
Editor guide