Reduxの-佐賀エントリ

:詳細は、を参照してくださいhttps://github.com/redux-saga/redux-saga     と   https://redux-saga.js.org/docs/introduction/BeginnerTutorial.html

店舗/ index.js

'Reduxの'からインポート{CREATESTORE、applyMiddleware、コンポーズ} 
からインポートcreateSagaMiddleware 'Reduxの-佐賀' 
からインポート減速 './reducer' 
からインポートTodoSagas」./sagas' 

CONST sagaMiddleware = createSagaMiddleware()。
constのcomposeEnhancers = 
  ウィンドウ.__ REDUX_DEVTOOLS_EXTENSION_COMPOSE__
    ウィンドウ.__ REDUX_DEVTOOLS_EXTENSION_COMPOSE __({}):コンポーズ。
CONSTエンハンサー = composeEnhancers(applyMiddleware(sagaMiddleware))。

CONST店舗 = CREATESTORE(
  減速、
  エンハンサー
)。

sagaMiddleware.run(TodoSagas)。

書き出すデフォルト店;

店舗/ sagas.js

インポート{takeEvery、PUT} 'Reduxの-佐賀/エフェクト' 
からインポートaxios 'axios' 
インポート{ 
  INIT_LIST 
から} './actionType' 
インポート{ 
  getInitListAction 
から} './action'
 
CONST ERR_OK = 0。
関数 * getInitList(){ 試み{ CONST RES =降伏axios.get( 'http://122.51.241.68/api/list' )。 const型データ = res.data。 もし(data.rcode === ERR_OK ){ CONSTリスト = data.data CONSTアクション = getInitListAction(リスト)。 置く(アクション)を得ました。 } } キャッチ(ERR){ にconsole.log( '网络请求失败:' + ERR) } } 関数 * mySaga(){ 収率takeEvery(INIT_LIST、getInitList) } エクスポートデフォルト mySaga。

店舗/ action.js

インポート{ 
  DELETE_LIST_ITEM、
  UPDATE_INPUT_VALUE、
  ADD_LIST_ITEM、
  INIT_LIST、
  GET_INIT_LIST 
}から './actionType' 

エクスポートCONST deleteListItemAction =(指数)=> ({ 
  タイプ:DELETE_LIST_ITEM、
  索引
})

エクスポートCONST updateInputValueAction =(値)=> ({ 
  タイプ:UPDATE_INPUT_VALUE、
})

エクスポートCONST addListItemAction =(値)=> ({ 
  タイプ:ADD_LIST_ITEM 、
})

initListAction CONSTエクスポート =(データ)=> ({ 
  タイプ:INIT_LIST、
})

エクスポートCONST getInitListAction =(データ)=> ({ 
  タイプ:GET_INIT_LIST、
  データ
})

 

おすすめ

転載: www.cnblogs.com/ladybug7/p/12484264.html