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-те компоненттер құрудың қазіргі заманғы және ұсынылатын тәсілі.