Еквивалентът на componentDidMount в куките е функцията useEffect. Функциите, предадени на useEffect, се изпълняват при всяко изобразяване на компонент - освен ако не му предадете втори аргумент.
За какво е useEffect?
Какво прави useEffect? Използвайки тази кука, вие кажете на React, че вашият компонент трябва да направи нещо след рендер. React ще запомни функцията, която сте предали (ще я наричаме нашия „ефект“) и ще я извика по-късно, след като извърши актуализациите на DOM.
componentDidMount кука React ли е?
useEffect е React hook, където можете да приложите странични ефекти, например получаване на данни от сървъра. Първият аргумент е обратно извикване, което ще бъде задействано след оформление на браузъра и рисуване.
Защо useEffect не се извиква?
Причината това да се случи е, защото извикването на api е асинхронно, то не попълва състоянието веднага, така че рендирането се случва първо и се опитва да прочете. текущо от първоначалното метеорологично състояние null. Решение: в метода си за изобразяване се уверете, че не четете времето.
UseEffect винаги ли работи на Mount?
Важно: куката useEffect винаги ще работи на монтиране, независимо от, ако има нещо в неговия масив от зависимости. Вероятно не искаме всъщност да изпълняваме този ефект върху нашите данни, когато са недефинирани (както ще бъде при първоначалното изобразяване), а по-скоро искаме да изчакаме, докато се попълни от извикването на API.