【发布时间】:2021-02-04 00:00:09
【问题描述】:
我有一个包含 selector.js 文件的选择器文件夹
const isRecipeFavorited = state => recipeId => {
const recipe = state.find(recipe => recipe.id === recipeId)
console.log(`Selector isRecipeFavourtied: ${recipeId}`)
return recipe ? recipe.is_fav : false
}
这是我的 favicon.js 文件,它调用了这个 useSelector。
import React, {useState, useEffect} from 'react'
import { FontAwesome } from '@expo/vector-icons'
import { View, TouchableOpacity,StyleSheet, Text, Alert } from 'react-native'
import {isRecipeFavorited} from '../selectors/selectors'
import {useSelector} from 'react-redux'
import { favids } from '../reducers/favids'
const FavIcon = ({recipeid, onToggle, isFavourite, text}) => {
const isFavNew = useSelector(isRecipeFavorited(recipeid))
return (
<View>
<TouchableOpacity style={styles.favItem} onPress={() => onToggle(recipeid)}>
<FontAwesome name={isFavNew === true ? 'heart' : 'heart-o'} size={40} color='red' />
<Text> {text}</Text>
</TouchableOpacity>
</View>
)
}
export default FavIcon
我不断收到错误消息,说我的选择器不是函数。 _selectors.isRecipeFavourited 不是一个函数。 我正在尝试从状态中检索 recipe.is_fav 的值。 我也在这个项目中使用 Redux。
【问题讨论】:
标签: reactjs react-native redux react-redux