Init callback
Pvzd:
const initialVal = calculateInitialValue() const [val, setVal] = useState(initialVal)
Bėda, kad React kvies šį komponentą daug kartų ir kiekvienkart perskaičiuos init value ir bus renderinimas
const [val, setVal] = useState(() => calculateInitialValue())
Tokiu atveju React iškvies, tik tada kada reikia. Pirmo renderinimo metu.
Pvzd:
function getQueryParam() {
const params = new URL SearchParams (window.location.search)
const initialQuery = params.get('query') ?? ''
return initialQuery
}
function App() {
const [query, setQuery] = useState(getQueryParam)
Bet jeigu iškviesime fnc useState const [query, setQuery] = useState(getQueryParam()), tai kvies funcija per kiekviena rendarinimą