Sobes.tech
Junior — Middle
82

React-те функционалды компоненттер мен класс компоненттерінің айырмашылығы неде, және қай жағдайларда оларды қолданған дұрыс?

AI-дан жауап

sobes.tech AI

React-те екі негізгі компонент түрі бар: класс және функционалды.

Класс компоненттері — React.Component-тан мұраға қалған кластар ретінде анықталатын компоненттер. Олар өздерінің күйі (state) мен өмірлік цикл әдістеріне ие.

Функционалды компоненттер — props қабылдайтын және JSX қайтаратын функциялар. Бұрын олар «статикалық» болып, күйі болмаған, бірақ хуктердің (hooks) пайда болуымен функционалды компоненттер күй мен басқа мүмкіндіктерді пайдалана алады.

Айырмашылықтар:

  • Класс компоненттері this-ті props пен state-ке қол жеткізу үшін пайдаланады, ал функционалды — пайдаланбайды.
  • Функционалды компоненттер әдетте қысқа әрі қарапайым.
  • Хуктер функционалды компоненттерге күй мен әсерлерді қосуға мүмкіндік береді, бұған дейін олар тек класс компоненттерінде ғана болды.

Қашан пайдалану керек:

  • Хуктермен функционалды компоненттерді қолдану артықшылығы бар, себебі олар қарапайым, тестілеуі оңай және қолдау оңай.
  • Класс компоненттері ескі кодта қолданылуы мүмкін немесе арнайы талаптар болған жағдайда, бірақ қазір оларды функционалды компоненттерге ауыстыру ұсынылады.

Хук useState-пен функционалды компоненттің мысалы:

import React, { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  return (
    <div>
      <p>Санау: {count}</p>
      <button onClick={() => setCount(count + 1)}>Көбейту</button>
    </div>
  );
}

Осылайша, хуктері бар функционалды компоненттер — React-те компоненттер құрудың қазіргі заманғы және ұсынылатын тәсілі.