【发布时间】:2021-11-13 06:25:00
【问题描述】:
无法在包含对象数组的 useReducer 钩子的初始化中传递数据(这是数组), 在产品初始化中获取子组件空数组的结果。
我希望子组件中的数据与我传递的相同。
代码:
import React, { createContext, useContext, useEffect, useReducer, useState } from 'react'
import faker from "faker";
import { cartReducer } from './Reducer';
export const Cart = createContext();
const Context = ({ children }) => {
const [data, setProduct] = useState();
useEffect(() => {
var axios = require('axios');
var config = {
method: 'get',
url: '<apicalling here>',
headers: {
'Authorization': 'Token xyz'
}
};
axios(config)
.then(function (response) {
setProduct(response.data.cart[0].items);
})
.catch(function (error) {
console.log(error);
});
}, []);
console.warn("hello", data); //yes working, data rendering here
const [state, dispatch] = useReducer(cartReducer, {
products: data,
cart: [],
});
return <Cart.Provider value={{ state, dispatch }}>{children} </Cart.Provider>;
};
export default Context;
【问题讨论】:
标签: javascript reactjs react-redux