Каковы различия между Redux-Thunk и Redux-Promise при использовании с Axios apis?

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

В моем приложении у создателей действия в основном есть async axios [ajax] вызовы на мой внутренний сервер. Внедрение Redux-Promise в качестве промежуточного программного обеспечения решает проблему потока асинхронных данных.

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

В целом команда более склонна к использованию Redux-Thunk, который я считаю более сложным синтаксисом для этой проблемы. Мне нужны предложения по оценке этих 2-х рамок, учитывая, что большинство моих создателей действия делают только аксиомы (promises). Я видел много дискуссий о Redux-thunk здесь. Я понял, как может быть полезно., Но мне нужно больше разъяснений, оценивая Redux-Promise и Redux-Thunk вместе при использовании только для Promises. Какое промежуточное ПО лучше в такой ситуации и почему? Какие преимущества я получаю от Redux-Thunk над Redux-Promise? Или нет?

Ответ 1

Redux Promise удобна для отправки трех действий (запрос, успех, сбой), не записывая этот код вручную.

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

Вы можете использовать их вместе или использовать в любом случае. Я бы рекомендовал начать с Redux Thunk, потому что он предлагает больше контроля и более универсален. После того, как вы его заработаете, вы можете рассмотреть возможность добавления Redux Promise, чтобы удалить часть кода шаблона, связанного с диспетчеризацией трех видов действий. Если вы обнаружите, что он не покупает вас много, удалите его. С другой стороны, если вы заметите, что все создатели твой боевиков просто отправили одно обещание, вы можете удалить Redux Thunk.

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