Следует ли вам всегда использовать Redux и REST API? - PullRequest
0 голосов
/ 10 декабря 2018

При работе с React или React Native, общий сценарий использует redux-thunk , чтобы вы могли синхронизировать состояние бэкэнда и избыточного кода.

Я понял, что в большинстве случаеводин и тот же шаблон используется для всех функций, когда вы вызываете REST API, и после ответа обновите состояние Redux:

пример:

// ADD ARTICLE
export const addArticle = (article) => {
    type: 'ADD_ARTICLE',
    article
}

export const startAddArticle = (articleData) => {
    return (dispatch, getState) => { 
        ...
       // call api using axios or fetch and dispatch addArticle at the end
    }
}

Если вы всегда используете этот шаблон (или Redux вообще), и если да, в чем выгода от этого, вместо того, чтобы просто создать один класс, из которого вы бы назвали свой REST API (что-то похожее на DataService в Angular) и вообще не использовать состояние Redux, так как всеинформация уже хранится в базе данных и доступна через внутренние вызовы?

1 Ответ

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

Redux - это однонаправленный поток данных, другими словами, это источник правды в вашем приложении.Это облегчает взаимодействие с государством.Подумайте, у вас есть модальный компонент, и вы хотите закрыть и открыть его, не передавая реквизиты из родительского компонента, вы можете сделать это очень легко с помощью redux.(Также контекстный api, но сейчас мы нацелены на Redux. Вы можете зайти в Google для получения дополнительной информации о контекстном api)

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

action -> middleware(redux-thunk) -> reducer -> state -> View

Если вы всегда используете этот шаблон (или Redux вообще)

Вы неЯ должен использовать этот шаблон всегда.Для более сложных приложений, которые вы хотите отслеживать также и состояние загрузки, вы можете использовать Redux-Saga, например, вы можете отслеживать состояние загрузки также с помощью redux-thunk, но, на мой взгляд, это не очень удобно, как Redux-Saga.Saga использует генераторную схему, которая отлично подходит для нескольких звонков.

или Redux вообще

Если ваш проект слишком мал, вам не нужно использовать Redux, возможно, вы захотите взглянуть на Mobx.Также некоторые люди не используют приставку, когда они используют клиент Apollo Graphql.Но, честно говоря, Redux делает все просто.

...