第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

redux中fetch的使用

redux中fetch的使用

繁星coding 2019-04-09 17:19:46
看到一個項目中引入的是 import fetch from 'isomorphic-fetch';然后在定義action—type時,寫的:export const FETCH_RUNS = 'FETCH_RUNS';export const FETCH_RUNS_PENDING = 'FETCH_RUNS_PENDING';export const FETCH_RUNS_FULFILLED = 'FETCH_RUNS_FULFILLED';export const FETCH_RUNS_REJECTED = 'FETCH_RUNS_REJECTED';加了三種狀態(tài)pending,fulfilled,rejectedaction中只寫了type: FETCH_RUNS的:import {fetchRuns} from '../../services/RunService';const fetchRunsAction = (req) => ({  type: FETCH_RUNS,  payload: fetchRuns(req)});export {  fetchRunsAction as fetchRuns}而在reducer中對三種狀態(tài)的action都做了處理:import {  FETCH_RUNS_FULFILLED,  FETCH_RUNS_PENDING,  FETCH_RUNS_REJECTED} from '../actions/runActions';// INITIALIZE STATEconst initialState = {  runs: null,  fetched: false,  fetching: false,  failed: false};// REDUCERexport const FetchRunsReducer = (state = initialState, action) => {  switch (action.type) {    case FETCH_RUNS_PENDING:      return {        ...state,        fetching: true,        fetched: false,        failed: false      };    case FETCH_RUNS_FULFILLED:      return {        ...state,        runs: action.payload,        fetching: false,        fetched: true,        failed: false      };    case FETCH_RUNS_REJECTED:      return {        ...state,        runs: null,        fetching: false,        fetched: false,        failed: true      };    default:      return state;  }};在組件中:...const mapStateToProps = state => {  const {fetched, fetching, runs} = state.runs;  return {    fetched,    fetching,    runs  };};const mapDispatchToProps = dispatch => {  return bindActionCreators({fetchRuns}, dispatch);};現(xiàn)在我的疑惑點在——什么時候觸發(fā)了FETCH_RUNS_PENDING,F(xiàn)ETCH_RUNS_FULFILLED,F(xiàn)ETCH_RUNS_REJECTED這三個狀態(tài);在promise是有三個狀態(tài),自動觸發(fā),但是程序如何跳到代碼中寫的這三個action名字FETCH_RUNS_PENDING,F(xiàn)ETCH_RUNS_FULFILLED,F(xiàn)ETCH_RUNS_REJECTED;我想是不是某個封裝的地方給action名字自動后面添加了PENDING、FULFILLED,REJECTED然后在觸發(fā)此action的時候后自動觸發(fā)這幾個狀態(tài)的action。那么請問在哪個里面進行了封裝呢?代碼中沒有找到啊,是不是react,redux某個里面封裝的?求助
查看完整描述

1 回答

?
倚天杖

TA貢獻1828條經(jīng)驗 獲得超3個贊

你少最重要的一部分,就是處理 action 那部分
現(xiàn)在我的疑惑點在——什么時候觸發(fā)了FETCH_RUNS_PENDING,F(xiàn)ETCH_RUNS_FULFILLED,F(xiàn)ETCH_RUNS_REJECTED這三個狀態(tài);在promise是有三個狀態(tài),自動觸發(fā),
手動觸發(fā)或者自己寫個工具觸發(fā)總之不會自動觸發(fā),

但是程序如何跳到代碼中寫的這三個action名字
你在找著代碼 看最終 action 被那個組件使用了

FETCH_RUNS_PENDING,F(xiàn)ETCH_RUNS_FULFILLED,F(xiàn)ETCH_RUNS_REJECTED;我想是不是某個封裝的地方給action名字自動后面添加了PENDING、FULFILLED,REJECTED然后在觸發(fā)此action的時候后自動觸發(fā)這幾個狀態(tài)的action。那么請問在哪個里面進行了封裝呢?代碼中沒有找到啊,是不是react,redux某個里面封裝的?求助

可以這樣做 但是很明顯這個不是這樣做的


查看完整回答
反對 回復(fù) 2019-05-19
  • 1 回答
  • 0 關(guān)注
  • 835 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號