Задать вопрос
Анкета -> https://career.habr.com/greyewi

Менторю по react.js, redux.
Цена: 2500 руб/час
Контакты
Местоположение
Россия, Москва и Московская обл., Москва

Достижения

Все достижения (9)

Наибольший вклад в теги

Все теги (69)

Лучшие ответы пользователя

Все ответы (221)
  • React + Redax + Sagas - как правильно строить приложение?

    GreyCrew
    @GreyCrew
    Full-stack developer
    Хороший вопрос, но что касается модели данных, то некоторые паттерны в этом плане за нас уже придумали и они довольно не плохие. к примеру redux-ducks, их можно разбивать, как в примере выше, а можно и группировывать в одном файле. Собственно саги они в самом конце располагаться должны, вот мой пример организации компонента с сагами

    Про часть представления данных, я сам постоянно пытаюсь разделять компоненты и контейнеры. Но тут главное не перемудрить, когда из одного родительского контейнера прокидываются данные через 50 потомков в компонент. Уж лучше тогда где то ниже законнектится к стору и получить нужный параметр.
    Ответ написан
    Комментировать
  • Какие есть архитектурные решения для лаконичной реализации ролей в React-приложениях?

    GreyCrew
    @GreyCrew
    Full-stack developer
    Все просто, я сам такое недавно делал.
    В роутах определяешь область видимости.

    А в конечных компонентах из стора получаешь текущую роль.

    Вот пример такого компонента
    class ProtectedRoute extends Component {
      
      render() {
        const {component, ...rest} = this.props
        return <Route {...rest} render = {this.getComponent}/>
      }
      
      getComponent = (...args) => {
        return this.props.user && this.props.access.indexOf(this.props.user.role) !== -1 ? <Main title={this.props.title} ><this.props.component {...args} /></Main> :
          <ErrorPage/>
      }
    }
    
    export default connect(state => ({
      user: userSelector(state)
    }), null, null, { pure: false })(ProtectedRoute)


    Тут в this.props.access определяешь идентификаторы доступных ролей
    Ответ написан
    Комментировать
  • Книга о безопасном коде?

    GreyCrew
    @GreyCrew
    Full-stack developer
    есть книга Совершенный код
    там есть глава, где описаны подходы безопасного программирования, и отдельно о проектировании и написанию кода, очень подходит для новичков в отличие от Чистого кода , хотя ее я тоже советую.
    Ответ написан
    Комментировать
  • Redux-saga: как вызвать callback после исполнения множества Ajax запросов из разных саг?

    GreyCrew
    @GreyCrew
    Full-stack developer
    Решал аналогичную проблему.
    Есть вариант.
    Проблема в том, что запросы ассинхронные и мы не можем предугадать, какие из них выполнятся медленней, а какие быстрее.

    Вариант для решения данной проблемы - создать пару эшнов, BEGIN_FETCHING и END_FETCHING.
    Добавить в стор объект, который бы аккумулировал процесс загрузки, по умолчанию он равен 0.

    В начале запроса делаем
    yield put({
          type: BEGIN_FETCHING
        })

    а в конце
    yield put({
          type: END_FETCHING
        })


    в редьюссере прописываем, что BEGIN_FETCHING увеличиваает значение, на 1, а END_FETCHING уменьшает
    и когда у нас значение объекта стало 0, то убираем прелоадер.
    Ответ написан
    1 комментарий
  • Что лучше изучить начинающему vue или react?

    GreyCrew
    @GreyCrew
    Full-stack developer
    Лично мое мнение, все зависит от задачи, я пишу и на react и на vue.
    Если что то надо сделать быстро, либо для себя, где четко знаешь что там будет, то мне проще писать на vue, там меньше бойлерплейта. Подключаешь Vuex для хранения состояния и все отлично.

    Но если в коммерческой разработке в большим проектом, то с реактом шансов прострелить себе ногу гораздо меньше. Если делаешь с четкой раздельной архитектурой react + redux + sagas, то жить как то становится как то проще.

    А на начальном этапе в целом выбор не очень важен. И там и там ты найдешь работу. Конечно по реакту охват шире, я думаю потому, что его больше знают, по нему больше мануалов.
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (91)