我有这段代码为我的 API 返回一个 thunk
import { SUBSCRIBE_REQUEST, SUBSCRIBE_SUCCESS, SUBSCRIBE_FAILURE } from '../../constants'
export function subscribeUser (data) {
return (dispatch, getState, { axios }) => {
dispatch({ type: SUBSCRIBE_REQUEST })
return axios.get(`some/api/call`, data)
.then(res => {
dispatch({
type: SUBSCRIBE_SUCCESS,
payload: res.data
})
})
.catch(error => {
dispatch({
type: SUBSCRIBE_FAILURE,
payload: error,
error: true
})
})
}
}
我现在正在实施react-redux-form
,但不清楚如何将上述内容与提交功能联系起来。从他们的文档中,它希望我在提交操作中传递一个承诺:
class myForm extends React.Component {
handleSubmit (data) {
const { dispatch } = this.props
dispatch(actions.submit('user', somePromise))
}
基本上是这样的:
dispatch(actions.submit('user', subscribeUser))
如何将我的 thunked API 代码与提交处理程序连接起来?我已经redux-promise
将其视为一种可能性,但我不清楚它是否可以解决我的问题,并且如果我可以使用它,我还想保留现有的 thunk 代码库。