[英]How to dispatch an action from a promise in redux?
解決后,我需要從redux中的一個Promise調度一個動作。 我嘗試使用以下代碼(注釋掉)沒有成功。
您能指出我正確的方向嗎?
我得到的錯誤是:
ReferenceError:調度未定義
const getLocations = (query:string):ActionType => { const value = query.trim() if (!value.length) { return ({ type: null, payload: null }) } return ({ type: types.GET_LOCATIONS, payload: new Promise((resolve, reject) => { fetch(api.find(query)).then(response => { resolve(response.json()) // dispatch(myAction()) }) }) }) }
您需要中間件來兌現承諾,請嘗試redux
https://www.npmjs.com/package/redux-promise
//index.js
import { createStore, applyMiddleware } from 'redux';
import reduxPromise from 'reduxPromise';
const store = createStore(reducers, applyMiddleware(reduxPromise)));
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>
, rootEl );
然后在你的行動中返回諾言
return ({
type: GET_LOCATIONS,
payload: fetch(api.find(query))
})
你可以谷歌搜索其余的,我很快就寫了。 我對減速器中的響應做出反應
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.