【发布时间】:2016-07-15 16:12:37
【问题描述】:
我真的很喜欢这样写动作的概念:
function signUp(data, callback) {
return {
[CALL_API]: {
type: 'SOME_TYPE',
url: `/api/account/signup`,
method: 'POST',
data: data
}
}
}
但是对于像signUp 这样的东西,我不想修改/触摸 store 以从服务器获取回调
在我的 React 组件中,我有一个动作,它通过动作调用 api 并更改状态。
this.signUp($(form).serialize(), function(data) { this.setState({response: data}); }.bind(this))
动作signUp看起来像这样
function signUp(data, callback) {
postRequest(
'/api/account/signup',
data,
'POST',
callback)
}
function postRequest(url, data, method, callback) {
callback(true); //// just testing
}
如你所见,与第一个相比,语法和代码长度并不漂亮
问题:有没有办法修改 redux 中间件或者有一个替代的 JSON 函数(类似于CALL_API)来接受组件的回调而不接触商店?我真的很想使用CALL_API 语法:)
【问题讨论】:
标签: javascript node.js redux middleware