首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TypeError:未定义不是对象(计算“”availableMeals.filter“”)。“我不知道为什么我会得到这个错误

TypeError:未定义不是对象(计算“”availableMeals.filter“”)。“我不知道为什么我会得到这个错误
EN

Stack Overflow用户
提问于 2021-05-26 16:16:56
回答 1查看 152关注 0票数 0

我正在使用useSelector()钩子将状态作为道具传递,但我收到一个错误消息:

代码语言:javascript
运行
复制
TypeError: undefined is not an object (evaluating 'availableMeals.filter')

/store/reducers/meals.js:

代码语言:javascript
运行
复制
import { MEALS } from "../../Data/Dummy-Data";

const intialState = {
  meals: MEALS,
  filteredMeals: MEALS,
  FavouriteMeals: [],
};

const mealsReducer = (state = intialState, action) => {
  return action;
};

export default mealsReducer;

CategoryMealScreen.js:

代码语言:javascript
运行
复制
import React from "react";
import { useSelector } from "react-redux";

import { CATEGORIES } from "../Data/Dummy-Data";
import MealListData from "../component/mealListData";

const CategoryMealScreen = (props) => {
  const catId = props.navigation.getParam("categoryId");
  const availableMeals = useSelector((state) => state.meals.filteredMeals);
  const DisplayedMeal = availableMeals.filter(
    (meal) => meal.categoryIds.indexOf(catId) >= 0
  );

  return (
    <MealListData listData={DisplayedMeal} navigation={props.navigation} />
  );
};
CategoryMealScreen.navigationOptions = (navigationData) => {
  const catId = navigationData.navigation.getParam("categoryId");
  const selectedCategory = CATEGORIES.find((cat) => cat.id === catId);
  return {
    headerTitle: selectedCategory.title,
  };
};

export default CategoryMealScreen;

我不知道为什么我会得到这个错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-26 16:28:11

问题出在你的减速器上

代码语言:javascript
运行
复制
const mealsReducer = (state = intialState, action) => {
  return action;
};

您返回的是操作,而不是状态。请将其更改为

代码语言:javascript
运行
复制
const mealsReducer = (state = intialState, action) => {
      return state;
    };
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67701069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档