UseEffect Реагувати гачок буде працювати переданий в функції при кожній зміні. Це можна оптимізувати, щоб дозволити йому дзвонити лише тоді, коли потрібні властивості змінюються.
Що робити, якщо я хочу викликати функцію ініціалізації componentDidMount
та не викликати її знову при змінах? Скажімо, я хочу завантажити об'єкт, але функція завантаження не потребує даних із компонента. Як ми можемо це зробити за допомогою useEffect
гачка?
class MyComponent extends React.PureComponent {
componentDidMount() {
loadDataOnlyOnce();
}
render() { ... }
}
З гачками це може виглядати приблизно так:
function MyComponent() {
useEffect(() => {
loadDataOnlyOnce(); // this will fire on every change :(
}, [...???]);
return (...);
}