Ilj*_*lja 5 javascript asynchronous reactjs redux redux-promise
我很难搞清楚为什么会发生这种情况,但基本上Redux Promise对我来说很好,同时返回的内容如下:
return {
type: STORY_ACTIONS.STORY_SPOTIFY_REQUEST,
payload: request
}
Run Code Online (Sandbox Code Playgroud)
但是,我现在需要像这样传递另一个信息
return {
order: 0, // New field
type: STORY_ACTIONS.STORY_SPOTIFY_REQUEST,
payload: request
}
Run Code Online (Sandbox Code Playgroud)
这导致未解决的承诺而不是数据.我尝试重命名order为position或者index......仍然没有.
您应该使用metaRedux Promise所需的字段.Redux Promise使用Flux标准操作(FSA),它使用此代码验证操作:
import isPlainObject from 'lodash.isplainobject';
const validKeys = [
'type',
'payload',
'error',
'meta'
];
function isValidKey(key) {
return validKeys.indexOf(key) > -1;
}
export function isFSA(action) {
return (
isPlainObject(action) &&
typeof action.type !== 'undefined' &&
Object.keys(action).every(isValidKey)
);
}
export function isError(action) {
return action.error === true;
}
Run Code Online (Sandbox Code Playgroud)
如您所见,有效密钥只有四个保留字.所以你应该将order属性添加到'payload'或者'meta'.
| 归档时间: |
|
| 查看次数: |
399 次 |
| 最近记录: |