в RN?
1) Разделять на Контейнер, который отвечает за бизнес-логику, и скрины - которые отвечают только за отрисовку
2) Объединять всё в одном компоненте.
Ну если компонент просто, то один файл. Если сложный и состоит из более мелких компонентов, то скорее первый вариант
Как того диктует архитектура. В ткущем приложении (и я склонен считать, что буду так и дальше делать): 1. Папка Screens с компонентами скринов, просто чтоб их идентифицировать было проще. В них определяется какой заголовок они показывают, общий UI, в них часто есть логика по инициации загрузки нужных данных в componentDidMount 2. Папка Elements - там все остальные элементы интерфейса - возможно буду разбивать по назначению, но сейчас всё скопом и это не создаёт проблем, там все варианты заголовков экранов... списки элементов... сами элементы, вспомогательные компоненты типа Card, Avatar, RibbonLabel и тп... Любые из компонентов (на самом деле почти все, кроме самых простых) из Screens и Elements могут быть подписаны на изменения модели (observer в терминах mobx)... не вижу вообще никакого смысла в их разделении... 3. Есть одельная папка lib, где лежит всякая универсальная хрень не заточенная конкретно под текущее приложение, в частности и компоненты... они естественно ни с какой моделью данных не взаимодействуют ибо универсальные и не могут знать ничего ни про модель, ни про темы в приложении, ни про какие-то другие доступные в приложении апи...
Обсуждают сегодня