伙计们。
我有以下异步动作创建者,它null
根据当前状态调度另一个动作创建者或返回。null
问题是无论当前状态如何,它总是会返回。
// actions.js
export const loadPosts = category => (dispatch, getState) => {
const currentState = getState()
const posts = currentState.postsByCategory
const categoryPosts = posts[category]
const items = categoryPosts.items
if(items === []) {
return dispatch(fetchPosts(category))
}
return null
}
如您所见,动作创建者的调度fetchPosts()
取决于items
等于空数组的值。我正在对其进行测试,为其提供具有以下结构的初始状态:
// initialState
const initialState = {
postsByCategory: {
hot: {
isFetching: false,
items: []
}
}
}
我显然没有items
正确访问该属性,但是我看不到代码中的错误在哪里。我正在使用 redux-mock-store 对此进行测试,创建一个 mockStore 实例,并为其提供initialState
. 希望你们能查明我代码中的错误。提前致谢。