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ą