次のいずれかを試すことができます。私はfetch
とaxios
の両方を使用していますが、彼らは驚くほどうまく機能します。しかし、superagent
を試してみてください。
- 要求を行うために、あなたはすべてのブラウザ(link)
- Axiosライブラリ間の互換性のために フェッチポリフィルで
fetch
を使用することができます。 (link)
- 約束してたSuperAgent。(link)
あなたがフェッチ使用している場合、それはまだIEとSafariでサポートされていませんので、あなたがポリフィルを使用する必要があります。しかし、polyfillではかなりうまく機能します。どのようにそれらを使用するためのリンクをチェックアウトすることができます。
あなたのアクションクリエイターには、上記のいずれかを使用してAPIを呼び出すことができます。
は
function fetchData(){
const url = '//you url'
fetch(url)
.then (response) => {//next actions}
.catch(error) => {//throw error}
}
をFETCH AXIOS
axios.get('//url')
.then(function (response) {
//dispatch action
})
.catch(function (error) {
// throw error
});
だから、今の状態に来て、API呼び出しのためでした。 reduxにはあなたのアプリを扱う1つの状態があります。私はあなたがhere見つけることができるreduxの基本を通過することをお勧めします。だから、あなたのAPI呼び出しが成功すると、あなたの状態をデータで更新する必要があります。
状態
function receiveData(data) {
return{
type: 'RECEIVE_DATA',
data
}
}
を更新するために、データに
function fetchData(){
return(dispatch,getState) =>{ //using redux-thunk here... do check it out
const url = '//you url'
fetch(url)
.then (response) => {dispatch(receiveData(response.data)} //data being your api response object/array
.catch(error) => {//throw error}
}
}
アクションをフェッチするアクションリデューサー
function app(state = {},action) {
switch(action.types){
case 'RECEIVE_DATA':
Object.assign({},...state,{
action.data
}
})
default:
return state
}
}
私はあなたが言及ライブラリを使用していませんでしたが、私はあなたをお勧めしますReduxに関する無料のビデオを見てください。 httpコールの作成方法を含めて、作成者自身に行くために必要なものすべてを学習します。これを行うには別の抽象化は必要ありません https://egghead.io/courses/getting-started-with-redux https://egghead.io/courses/building-react-applications-with- idiomatic-redux –
[ここ](http://redux.js.org/docs/advanced/AsyncActions.html)は、あなたがやろうとしていることのドキュメントです。基本的には2つのことが必要です。まず、アクションを呼び出すときにajaxリクエストを開始します(たとえば、fetchまたはjQueryなど)。これはアクション自体の中で起こる可能性が最も高いでしょう。次に行うことは、ajax呼び出しが完了したときにajax呼び出しの情報でストアを更新することです。これを行うには、ストアの 'dispatch'関数にアクセスする必要があります。 'AsyncActionCreators'のセクションはこれを行う方法を示します。 – mrmcgreg
私はまた、 'react-redux'だけで何かをする方法を理解するまで、その図書館から離れています。 – mrmcgreg