For example, from the documentation (https://reactjs.org/docs/hooks-effect.html) -
import React, { useState, useEffect } from 'react';
function Example() {
const [count, setCount] = useState(0);
// Similar to componentDidMount and componentDidUpdate:
useEffect(() => {
// Update the document title using the browser API
document.title = `You clicked ${count} times`;
});
return (
<div>
<p>You clicked {count} times</p>
<button onClick={() => setCount(count + 1)}>
Click me
</button>
</div>
);
}
However this would not work:
import React, { useEffect } from 'react';
function Example() {
var count = 0;
// Similar to componentDidMount and componentDidUpdate:
useEffect(() => {
// Update the document title using the browser API
document.title = `You clicked ${count} times`;
});
return (
<div>
<p>You clicked {count} times</p>
<button onClick={() => count = (count + 1)}>
Click me
</button>
</div>
);
}
What requires us to use the useState call? What are the advantages?