我是React和Redux的新手,当时我正在检查购物车应用程序,如果要从外部api获取这些虚拟对象该怎么办。我可以在react中获取API,但是redux令我有些困惑。
productsReducer.js
const INIT_PRODUCTS = [
{id:1, title: 'Watch', description: 'Lorem Ipsum', price: 80, img:''},
{id:2, title: 'Watch', description: 'Lorem Ipsum', price: 50, img:''},
{id:3, title: 'Watch', description: 'Lorem Ipsum', price: 35, img:''}
];
export default function productsReducer(state=INIT_PRODUCTS, action={}) {
function findProductIndex(products, id) {
return products.findIndex((p) => p.id === id)
}
return state;
}
答案 0 :(得分:2)
使用fetch API时,您会异步执行操作(通常是异步调用服务器)。 redux不支持defualt的异步动作。 因此您需要使用称为“ thunk”或“ redux-saga”的中间件(thunk更容易) 该中间件使您能够将redux与异步操作一起使用。
如何进行重击?您创建了一个返回函数的动作创建者,而不是返回对象的acrion创建者。 然后将商店的调度功能传递给此返回的函数。这使返回的函数能够异步调用分派-作为回调
这是关于此主题的最佳指南