Коли використовувати компонент stack overflow російською

Чим керуватись при створенні компонента в react? Його функціональністю і змінністю або логічною структурою програми?

Припустимо, є головна сторінка

Коли використовувати компонент stack overflow російською

блок 1 і блок 3, як розумію, однозначно повинні описуватися як компоненти, тому що являють собою функціональні блоки.

блоки 2 - входять в навбар і теж описуються як компоненти.

блок 3 - окремий компонент, містить дудл, рядок пошуку і кнопки пошуку. Рядок пошуку і кнопки це окремі компоненти? А чи потрібно виділяти дудл в окремий компонент (припустимо він ніколи не змінюється)?

блок 4 - футер. Описувати його окремим компонентом, якщо він завжди залишається незмінною? Або його включати в компонент, який описує цілком головну сторінку?

заданий 24 Січня о 7:49

Цього має вистачити для розуміння де що і коли використовувати, але все одно додам, що краще писати якомога менше компонентів-контейнерів.

Що стосується розуміння коли використовувати компонента, а коли елемент, то простіше пояснити на простому прикладі -

І якщо вже зайшла розмова про компонентах, то не можу не згадати про таку важливу складову, як стиль компонентної композиції. Дуже часто я бачу подібне -

Але особисто я віддаю перевагу і тому раджу писати ось так -

Адже дуже часто буває так, що з голови вилітають деталі власного додатка і дуже важливо зуміти освіжити його в пам'яті одним охопленням. А для людей які вперше знайомляться з кодом другий варіант взагалі подарунок, так як дуже складно відтворити в голові додаток не по дереву, а по класах з файлів. Але є винятки, коли коду буде дійсно багато, то доведеться робити як в першому варіанті, але все одно намагатися якомога більше вмістити в одному компоненті. Просто дуже часто бачу як пишуть App => Header + Footer. Ідеш в Header, а там тільки один компонент, як наприклад ButtonGroup. Потім йдеш в цей ButtonGroup а там ще один компонент. І так поки дійдеш до останнього вже забуваєш звідки прийшов і навіщо.

А що гойдається конкретно Вашого випадку, то мінімум міг би виглядати так -

Схожі статті