на уровни логики (UI, BLL, DAL), но это ограничивает нас в использовании хуков. И не сильно подходит для маленьких приложений, например.
2) Объединение всей необходимой логики в компоненте, и полная её инкапсуляция, но тогда получается каша, и внутри одного компонента и запросы, и данные, и обработка этих данных. Как мне кажется подходит, наоборот, больше для маленьких приложений
Что лучше, и какие ещё есть подходы?
Всё что ты перечислил в пункте 2 выносится в react-redux в thunk. Можешь попробовать паттерн MVP. С хуками очень хорошо сочетается. До данного момента никаких проблем не замечал.
Redux, useSwr
чего это ограничивает? хуки - это просто интерфейс
Да, но как по мне если внутри компонента useDispatch, useSelector, useState, useEffect и ещё пара кастомных, а потом ещё вёрстка с использованием всех этих данных, то можно застрелиться
та не, это нормально, если не упарываться. взял данные и пару действий, вставил в верстку и все ок ну то есть если ты вызвал пару селекторов и диспачи твои все простые (а не куча логики в самом компоненте), то это нормально
А куда тогда выносить логику?
Я же тебе выше объяснил
Не увидел сообщения. Спасибо 🙏 почитаю про паттерн
Логика либо в hooks, например, для моделей, либо в thunks для каких-то внешних эффектов
даже если логика не переиспользуемая, можно выносить в кастомные хуки и класть рядом в соседний файл ну типа если есть большой useEffect + useState + useRef, то просто их вместе выносишь в useMyHren и основной компонент тогда читается проще
Где-то читал статью, про то что стоит все в одном компоненте стоит писать. Запросы, стили, сторибук, тесты. Там ссылались на react-router
вообще все приложение должно быть одним файлом src/index.js с одним компонентом App
😂😂😂
удобненько, как по мне. Так у тебя тесты, стили, запросы, сторибук лежит в index.js файле компонента, а не в нескольких файлов
правильно, пусть все в бандл к юзерам идёт, им полезно
tree shaking и будет тебе счастье. К юзерам уйдут только стили и сам компонент
понятно, но я считаю это дичью пихать тесты и стори в файл к компоненту. в тестах бывает по 500 строк, как потом с этим файлом работать
Ну тут соглы с тобой.
2) я например разделяю представление и логику, есть отдельно список и обертка, которая грузит данные
Обсуждают сегодня