The useState Hook Flow in React
Learn about the significance of prop passing and lifting up patterns for building robust and maintainable applications.
We'll cover the following...
User interactions with the state
A state is one of the most common techniques in React for driving user interactions. Let's consider a component with a button. Each time we click the button, it increments a number and appends it to the Hello World string (see the image below).
We can capture this UI behavior in a Title component:
const Title = () => {// State hook to manage the count statelet [count, setCount] = useState(0);// Event handler function triggered on button clickconst onClick = () => {setCount(count + 1);};// JSX rendering with a button and an h1 elementreturn (<><button onClick={onClick}>+</button><h1>Hello World+{count}</h1></>);};
Here, we use [count, setCount] to keep track of the count state. Then, we display count in the h1 element of the page and dispatch setCount in the click handler of the button element. Each time the button is clicked, it should increment the count value.
To confirm what happened under the hood, let's add console.log to two locations:
function Title() {// State hook to manage the count statelet [count, setCount] = useState(0);// Event handler function triggered on button clickconst onClick = () => {setCount(count + 1);// Log a message to the console indicating the click event and the current countconsole.log('clicked', count); ➀};// Log a message to the console indicating the component render and the current countconsole.log('rendered', count); ➁return ...}
The first one is placed after setCount to ...