所以我前几天从git中采取了React-Redux回购示例。我一直在加入它作为练习来学习。我正在尝试重写服务器端代码,以便我能更好地理解它,并最终将Mongo数据库引入到折叠中。我有服务器端代码,运行和工作,但一些现有的代码似乎不再工作。我无法弄清楚原因。我得到的错误是
未捕获的TypeError:action.products.reduce不是函数
以下是代码。我不确定它是否不喜欢扩展运算符或一般语法,我必须确保webpack在bundle上正确处理。在此先感谢您的帮助!
function byId(state = {}, action) {
switch (action.type) {
case RECEIVE_PRODUCTS:
return {
...state,
...action.products.reduce((obj, product) => {
obj[product.id] = product
return obj
}, {})
}
default:
const { productId } = action
if (productId) {
return {
...state,
[productId]: products(state[productId], action)
}
}
return state
}
}
以下是在reducer之前根据请求调用的操作。
function receiveProducts(products) {
return {
type: types.RECEIVE_PRODUCTS,
products: products
}
}
export function getAllProducts() {
return dispatch => {
shop.getProducts(products => {
dispatch(receiveProducts(products))
})
}
}