Size: a a a

React — русскоговорящее сообщество

2021 January 04

s

salambrosalam in React — русскоговорящее сообщество
Роман Бобков
Ребят, делаю тестовое, как избавится от дублирования кода? Мне нужно отрисовать 3 карточки (конбан доска), В работе, на проверку, выполнено.
Сделай хок который тебе обернёт кнопку и карточку в один компонент
источник

АВ

Антон Витренко... in React — русскоговорящее сообщество
salambrosalam
Сделай хок который тебе обернёт кнопку и карточку в один компонент
А какую проблему он решит?
источник

s

salambrosalam in React — русскоговорящее сообщество
Антон Витренко
А какую проблему он решит?
Будет ещё более структурированно
источник

АВ

Антон Витренко... in React — русскоговорящее сообщество
Почему именно хок? Чего не просто в waraper компонент обернуть?
источник

s

salambrosalam in React — русскоговорящее сообщество
Можно и так, я сказал просто своё личное мнение...
источник

РБ

Роман Бобков... in React — русскоговорящее сообщество
eden lane
Заведи массив досок, проходись по нему с помощью .map и рисуй доски в нем
Масив поместить в компанент Card?
источник

el

eden lane in React — русскоговорящее сообщество
Роман Бобков
Масив поместить в компанент Card?
Не, массив можно прямо в App поместить
источник

Y

YuriZRose in React — русскоговорящее сообщество
🦜
На features и домены
можно ссылки или это гуглится легко?
источник

АВ

Антон Витренко... in React — русскоговорящее сообщество
eden lane
Не, массив можно прямо в App поместить
Я бы так не делал потому что при каждом ре-рендере App масив будет тоже ре-рендерится, лучше всё же вынести в отдельный файл
источник

el

eden lane in React — русскоговорящее сообщество
Антон Витренко
Я бы так не делал потому что при каждом ре-рендере App масив будет тоже ре-рендерится, лучше всё же вынести в отдельный файл
Если в useState поместить то не будет же?
источник

V

Vladislav in React — русскоговорящее сообщество
eden lane
Если в useState поместить то не будет же?
При каждо изминении стейта, компонент ререндерит себя и компоненты которые в нем. Как писал Антон, если стейт будет в корневом компоненте то из за карточек будет ререндер всего приложения
источник

Y

YuriZRose in React — русскоговорящее сообщество
Еще вопросик такой, где проще выполнять загрузку данных для компонент? Например у меня есть компонент Widgets и я гружу для него данные (только для него) в useEffect. Но мне это кажется моим говнокодом, я перегружаю свой компонент не нужной логикой и обработкой. Хотелось бы эту логику вынести куда то, но для этого я так понимаю нужен какой то стейт-менеджер. Сейчас я его не использую, ибо по сути он мне и не нужен - у меня нету передачи пропсов на несколько уровней вложенности, да и состояние никак не глобальное так то. Есть какие то варианты использования стейт-менеджеров локально для компонентов?  Просто кроме Redux ничего другого не знаю, а он не подходит сдесь.
источник

V

Vladislav in React — русскоговорящее сообщество
Context есть, в реакт 16 сделали удобным
источник

V

Vladislav in React — русскоговорящее сообщество
менее сложная вещь чем redux
источник

MA

Maxim Afanasev in React — русскоговорящее сообщество
YuriZRose
Еще вопросик такой, где проще выполнять загрузку данных для компонент? Например у меня есть компонент Widgets и я гружу для него данные (только для него) в useEffect. Но мне это кажется моим говнокодом, я перегружаю свой компонент не нужной логикой и обработкой. Хотелось бы эту логику вынести куда то, но для этого я так понимаю нужен какой то стейт-менеджер. Сейчас я его не использую, ибо по сути он мне и не нужен - у меня нету передачи пропсов на несколько уровней вложенности, да и состояние никак не глобальное так то. Есть какие то варианты использования стейт-менеджеров локально для компонентов?  Просто кроме Redux ничего другого не знаю, а он не подходит сдесь.
В кастомный хук вынесите, этого будет достаточно.
источник

Y

YuriZRose in React — русскоговорящее сообщество
Maxim Afanasev
В кастомный хук вынесите, этого будет достаточно.
а имя? useWidgets()?
источник

MA

Maxim Afanasev in React — русскоговорящее сообщество
YuriZRose
а имя? useWidgets()?
Можно и так.
источник

Y

YuriZRose in React — русскоговорящее сообщество
спасибо)
источник

el

eden lane in React — русскоговорящее сообщество
Vladislav
При каждо изминении стейта, компонент ререндерит себя и компоненты которые в нем. Как писал Антон, если стейт будет в корневом компоненте то из за карточек будет ререндер всего приложения
не совсем понял тогда, как вы предлагаете сделать?
источник

АВ

Антон Витренко... in React — русскоговорящее сообщество
eden lane
не совсем понял тогда, как вы предлагаете сделать?
Просто отдельный файл, какой-то array.ts например (название лучше придумать) в котором export const a = [ {...} ] а в компоненте потом уже import a from ./array.ts и в компоненте a.map(...)
источник