首页 > 解决方案 > 反应本机重新选择状态未定义

问题描述

为什么我会收到此错误:

undefined 不是对象。state.shopping_cart

重新选择

import { createSelector } from 'reselect';

const carts = state => state.shopping_cart.cart;

export const allCarts = createSelector(
  carts,
  (data) => data
);

大车:

import { createSlice } from "@reduxjs/toolkit";
import _ from 'lodash';

const shopping_cart = createSlice({
    name: 'shopping_cart',
    initialState: {
      cart: []
    },
....
});

export const { addCart, removeCart, removeCartByProductID, addAmountOnCartItem } = shopping_cart.actions;
export default shopping_cart.reducer;

我是这样打电话的:

allCarts();

标签: react-nativereduxexporeselect

解决方案


您应该将状态传递给选择器allCarts(state);

您可以通过以下方式访问状态:

import { useSelector } from 'react-redux'

const selectedData = useSelector(state => state);

推荐阅读