Estoy usando redux para obtener pedidos de firebase, pero después de intentar usar esa matriz, ¡dice que no es una matriz! Intenté consolar el registro del tipo y me dice que es un objeto, ¡pero nunca lo cambié! Array de pedidos
acciones:
export const fetchOrders = () => { return async (dispatch) => { const ordersArray = []; const q = query( collection(db, "notValidatedOrders"), where("clientId", "==", authentication.currentUser.uid) ); const querySnapshot = await getDocs(q); querySnapshot.forEach((doc) => { ordersArray.push(2); }); console.log("ACTIONS", typeof ordersArray); dispatch({ type: FETCH_ORDERS, orders: ordersArray, }); }; };Reductor :
import { FETCH_ORDERS } from "../actions/orders"; const initialState = { orders: [], }; export default (state = initialState, action) => { switch (action.type) { case FETCH_ORDERS: return { orders: action.orders, }; } return state; };el componente en el que lo estoy usando:
const orders = useSelector((state) => state.orders.orders); const [ordersState, setOrdersState] = useState([]); const [isLoading, setIsLoading] = useState(false); console.log(typeof orders); const fetchOrders = useCallback(async () => { setIsRefreshing(true); try { await dispatch(ordersActions.fetchOrders()); } catch (err) { console.log(err.message); } setIsRefreshing(false); }, [setIsRefreshing, dispatch]); useEffect(() => { setIsLoading(true); fetchOrders() .then(() => { setOrdersState(orders); }) .then(() => { setIsLoading(false); }); }, [dispatch, fetchOrders]);