pyk / rojak

Project Rojak, Yuk gabung diskusi di Slack nya Rojak: http://team.rojak.id/
Other
98 stars 46 forks source link

[WEB UI] add and implement redux-promise-middleware in pairing folder #196

Open achmadk opened 7 years ago

achmadk commented 7 years ago

saya sudah menambahkan salah satu redux middleware yang bernama redux-promise-middleware. penggunaan middleware tersebut memudahkan para pengembang dalam mengambil data dari API. Contoh konkretnya

sebelum menggunakan redux-promise-middleware, pengembang menggunakan fungsi

export const fetchPairings = () => dispatch => {
   ajax.get('pairings').then((res) => {
      dispatch(setPairings(res.data))
    })
}

setelah menggunakan redux-promise-middleware, pengembang dapat memasukkan ajax.get(...) ke dalam payload

export const fetchPairings = () => ({
   type: SET_PAIRINGS,
   payload: ajax.get('pairings')
});

kemudian tambahkan action type _PENDING, _FULFILLED, dan REJECTED ke dalam reducer

export default (state = initialState, action = {}) => {
   const { type, payload } = action
   switch (type) {
       case `${SET_PAIRINGS}_PENDING`:
          return { ...state, loading_list: true };
       case `${SET_PAIRINGS}_FULFILLED`:
          return { ...state, loading_list: false, list: payload.data };
       case `${SET_PAIRINGS}_REJECTED`:
          return { ...state, loading_list: false, error: payload.error };
       ...