【发布时间】:2020-03-03 17:39:41
【问题描述】:
我正在我的 React Native 应用程序中处理 react-redux 中的 useSelector,我收到以下错误:
TypeError: TypeError: (0, _reactRedux.useSelector) is not a function.
我的代码是:
import { useSelector } from 'react-redux';
const availableMeals = useSelector(state => state.meals.filteredMeals);
根据官方文档,这是useSelector 的最简单用法,但我收到此错误。
以前,我在我的项目中遇到了另一个与 Redux 相关的错误,但它在一夜之间自动解决了,那么这个问题与某些缓存有关吗?
我该如何解决这个问题?
这是我的代码:
import React from 'react';
import { useSelector } from 'react-redux';
import { CATEGORIES } from '../data/dummy-data';
import MealList from '../components/MealList';
function CategoryMealScreen(props) {
const catId = props.navigation.getParam('categoryId');
const availableMeals = useSelector(state => state.meals.filteredMeals);
const displayedMeals = availableMeals.filter(meal => meal.categoryIds.indexOf(catId) >= 0);
return <MealList listData={displayedMeals} navigation={props.navigation} />;
};
CategoryMealScreen.navigationOptions = navigationData => {
//console.log(navigationData);
const catId = navigationData.navigation.getParam('categoryId');
const selectedCategory = CATEGORIES.find(cat => cat.id === catId);
return {
headerTitle: selectedCategory.name,
};
};
export default CategoryMealScreen;
【问题讨论】:
-
你能用 codepen 或一些实时编辑器发布你的代码吗?
-
确保你有 react-redux v7.1.0 或更高版本
-
@ShubhamKhatri 我的 react-redux 版本是 7.1.3,但错误仍然存在。
-
@MaulikSakhida 请检查:codepen.io/chetannik44/pen/LYYmLgR?editors=0010#0
-
是这样在你的路由减速器中定义的餐键吗? const rootReducer = combineReducers({餐: ... });
标签: reactjs react-native react-redux