簡體   English   中英

如何在Redux中從諾言中調度動作?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM