Задать вопрос
Ответы пользователя по тегу React
  • Динамическая подгрузка js, css в REACT?

    Eastman
    @Eastman
    Frontend's Zen
    Насчет динамической подгрузки js-файлов, я дал вам ответ в этой теме.
    Насчет же файлов стилей, тут можно по-разному и если я сейчас повторю то, что сказали выше, то прошу не быть очень строгим.
    По себе скажу, что удобно когда в проекте есть папка styles, в которой содержится main.less (работаю с less просто), в котором подключен ваш reset.css, variables.less с переменными, etc. Файл main.less, в свою очередь, импортируется в вашей точке входа. В main.less содержаться очень общие стили проекта.
    Что касательно компонентов и их стилей. Как принято, smart-компоненты не содержат стили, dumb - содержат, то есть у каждого dumb-компонента есть (если необходимо) свой одноименный файл с разрешением - *.less, *.scss, *.css (выбирайте по вкусу), который подключенный к этому компоненту.
    Как описывать стили? Вот пару вариантов (для всех вариантов необходима соответствующая настройка конфигурации Webpack.):


    Насчет стилей и Webpack. Как я понимаю, есть два варианта:
    • В Webpack вы используете ExtractTextPlugin - получаете один bundle.css, где находятся общие стили проекта и стили каждого компонента
    • В Webpack вы не используете ExtractTextPlugin:
      • Если у вас один bundle.js, то в нем вы получите все свои стили
      • Если вы используете динамическую подгрузку скриптов по роуту, то получите в каждом js-chunk'e и js,
        и css-код, то есть то же, что и выше, только разделено согласно роутам (попробовал только-что на своем проекте - работает)

    Ответ написан
    Комментировать
  • Как организовать взаимодействие с серверным API?

    Eastman
    @Eastman
    Frontend's Zen
    Могу по этой ссылке предложить, как пример, свой проект, пока еще не доработанный, но в котором довольно легко можно увидеть архитектуру постройки приложения.
    Стоить заметить, что такую же архитектуру я использую на большом коммерческом проекте с API/React/Redux, то есть, полностью подходящим к вашему описанию.
    Коротко о приложении:
    1. Бандл разделен на vendors и ваш код
    2. Роутинги организованы в виде plain-objects с динамической подгрузкой ресурсов на каждом роуте - это довольно неплохо дробит бандл с вашим кодом
    3. Redux код спроектирован по паттерну redux-ducks. Мне облегчило жизнь, надеюсь и вам поможет.

    Связь приложения с API, опять же, коротко:
    Есть smart и dumb компоненты. Smart-компоненты вызывают необходимые actionCreator'ы из папки redux/modules. ActionCreator'ы обращаются в соответсвующий модуль в папке api, где происходит обращение к серверу, откуда в Promise'ах возвращаются данные опять же в actionCreator, где action диспатчится с данными, после чего reducer обновляет данные в store. Smart-компонент обновляется и обновляет все свои dumb-компоненты, которые включенные в него, передавая им полученные данные.
    Используя написанное, пройдитесь по коду и надеюсь все прояснится. Удачи.
    Ответ написан
    4 комментария
  • Накидайте больших примеров react & redux приложений?

    Eastman
    @Eastman
    Frontend's Zen
    Про довольно большой React/Redux проект
    https://habrahabr.ru/company/hh/blog/310524/
    Ответ написан
    Комментировать