1import React, { useState } from 'react';
2
3function Example() {
4 // Declare a new state variable, which we'll call "count"
5 const [count, setCount] = useState(0);
6 return (
7 <div>
8 <p>You clicked {count} times</p>
9 <button onClick={() => setCount(count + 1)}>
10 Click me
11 </button>
12 </div>
13 );
14}
1class Example extends React.Component {
2 constructor(props) {
3 super(props);
4 this.state = {
5 count: 0
6 };
7 }
8
9 render() {
10 return (
11 <div>
12 <p>You clicked {this.state.count} times</p>
13 <button onClick={() => this.setState({ count: this.state.count + 1 })}>
14 Click me
15 </button>
16 </div>
17 );
18 }
19}
1function Counter({initialCount}) {
2 const [count, setCount] = useState(initialCount);
3 return (
4 <>
5 Count: {count}
6 <button onClick={() => setCount(initialCount)}>Reset</button>
7 <button onClick={() => setCount(prevCount => prevCount - 1)}>-</button>
8 <button onClick={() => setCount(prevCount => prevCount + 1)}>+</button>
9 </>
10 );
11}
1import React, { useState } from 'react';
2
3function Example() {
4
5 const [count, setCount] = useState(0);
6
7 return (
8 <div>
9 <p>You clicked {count} times</p>
10 <button onClick={() => setCount(count + 1)}>
11 Click me
12 </button>
13 </div>
14 );
15}
1The initial value will be assigned only on the initial render (if it’s a function, it will be executed only on the initial render).