useState
It is a hook that allows us to track state in a function component. It can keep track of strings, numbers, booleans, arrays, objects, and any combination of these.
const [variable, setterFunc] = useState(defaultValue)
Code example
import { useState } from 'react'
function NameList() {
const [list, setList] = useState(["Andy","Larry","Daniel"]);
const [name, setName] = useState(() => "Default");
function onAddName() {
setList([...list, name]);
setName("");
}
return (
<div>
<ul>
{list.map((name) => (
<li key={name}>{name}</li>
))}
</ul>
<input
type="text"
value={name}
onChange={(e) => setName(e.target.value)}
/>
<button
onClick={onAddName}
>Add Name</button>
</div>
);
}
function Counter() {
const [count, setCount] = useState(1);
function addOne() {
setCount(count+1);
}
return (
<div className="App">
<button
onClick={addOne}
>Count = {count}</button>
</div>
)
}
function App() {
return (
<div>
<Counter />
<NameList />
</div>
);
}
export default App