0
私はreactとreduxで新しく、複数のアクションに対して1つのストアを使用できるかどうかを知りたいと思います。redux rejactjs複数のアクションに1つのストアを使用
私はこれを試みていますが、最初のアクションは最後のアクションで上書きされます。なぜですか?
私は2つの別々のコンポーネントでアクションを呼び出していますが、私はそれらをアプリケーションコンポーネントの2つのコンポーネントと呼びます。
reducer.js
const dataReducer = (state = {
fetching: false,
fetched: false,
data: {},
error: null
}, action) => {
switch (action.type) {
case 'FETCH_DATA_PENDING':
return {...state, fetching: true}
break;
case 'FETCH_DATA_FULFILLED':
return {...state, fetching: false, fetched: true, data: action.payload.data }
break;
case 'FETCH_DATA_REJECTED':
return {...state, fetching: false, error: action.payload }
break;
}
return state;
}
module.exports = dataReducer;
は
import axios from 'axios';
const apiUrl = 'https://swapi.co/api/';
//fetch categories
export function fetchCategories() {
return {
type: 'FETCH_DATA',
payload: axios.get(apiUrl)
}
}
//fetch films
export function fetchFilms() {
return {
type: 'FETCH_DATA',
payload: axios.get(apiUrl + 'films')
}
}
私の投稿を編集します。私は減速機を置いた。私の減速機も同じことをしています。だから私は1つの減速機を使いたい。 – Momen
3つのフェッチアクションを送信するフレームワークを使用していますか?あなたは現在 'FETCH_DATA'だけを送信しているからです。あなたは 'FETCH_DATA_PENDING'やあなたのレデューサーにリストされている他のものを送っていません。 – tenor528
はい私は 'redux-promise-middleware'を使用しています – Momen