Sobes.tech
Middle

Koje metode životnog ciklusa postoje u Reactu i kako ih emulirati pomoću useEffect?

sobes.tech АИ

Одговор од АИ

У React класи компоненти постоји неколико метода циклуса живота, од којих су главне:

  • componentDidMount — позива се након монтирања компоненти;
  • componentDidUpdate — позива се након ажурирања компоненти;
  • componentWillUnmount — позива се пре демонтирања компоненти.

У функционалним компонентама са hook-ом useEffect, ове методе могу се емуловати на следећи начин:

import React, { useEffect } from 'react';

function MyComponent(props) {
  // componentDidMount
  useEffect(() => {
    // код који се извршава једном након монтирања
    console.log('Mounted');
  }, []); // празан низ зависности

  // componentDidUpdate
  useEffect(() => {
    // код који се извршава при промени props или стања
    console.log('Updated');
  }); // без другог аргумента — позива се након сваког рендеровања

  // componentWillUnmount
  useEffect(() => {
    return () => {
      // код за чишћење пре демонтирања
      console.log('Unmounted');
    };
  }, []);

  return <div>{props.value}</div>;
}

На овај начин, useEffect са празним низом зависности емулатује componentDidMount и componentWillUnmount (преко функције за чишћење), а useEffect без другог аргумента — componentDidUpdate.