Управление государством без Redux - PullRequest
0 голосов
/ 06 декабря 2018

Я замечаю использование Redux там, где это не нужно, например, у меня есть страница публикации, которая загружает это сообщение, и это комментарии.

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

Теперь мне интересно, как вы поддерживаете чистое состояние, когда не используете Redux?В настоящее время я загружаю данные постов и данные комментариев, используя 2 вызова API и функцию Promise.all (), чтобы дождаться их завершения, прежде чем скрывать загрузку.

componentDidMount() {
    Promise.all([
        pathService.get(this.props.match.params.slug),
        courseService.get(this.props.match.params.slug)
    ]).then(promises => {
        this.setState({
            loading: false,
            path: promises[0].data,
            courses: promises[1].data
        })
    });
}

Это правильный способ обработки реляционных данных, как это?Есть ли другие варианты, или я должен смотреть на Redux в любом случае?

1 Ответ

0 голосов
/ 06 декабря 2018

Я бы сказал, что ваш текущий метод хорош, если вы хотите продолжать не использовать Redux.

То, используете ли вы Redux или нет, во многом зависит от вашего знакомства с ним и размера вашего приложения.Вы правы, когда говорите, что он часто используется без необходимости, но иногда он может быть полезным инструментом.

Для этого конкретного компонента Redux может быть полезен, если вы используете результирующее состояние из Promises в других компонентахкоторые не имеют прямых родительских / дочерних отношений с вашим компонентом Post.Вы можете вообразить, что передача полученного состояния полностью вверх по дереву компонентов, а затем обратно к другому компоненту в другом плече дерева может стать громоздкой.Это когда Redux store превосходит, так как вы можете получить это состояние из хранилища, не пропуская его через все дерево компонентов.

Бонус: если вы ищете другие методы и можете использовать совершенно новыйРеагировать особенности, посмотрите на крючки React.Это отличный способ справиться с более сложным состоянием без использования Redux!https://reactjs.org/docs/hooks-intro.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...