一个小上下文:
我正试图将一个带有redux组件的类转换为hooks组件(Bosses订单(,在这个过程中,我读到了一种将mapStateToProps
转换为useSelector
的方法,所以我试图尝试一下,但我最近在方面遇到了问题
const favValues = useSelector(favourites => favourites.favValues);
相同的代码,以防书写不清楚。
因为它返回undefined。
我想真正的问题是我如何改造这个
function mapStateToProps({ queryFilter, favourites }) {
return {
queryFilter : queryFilter,
//Favourites:
favValues : favourites.favValues,
defaultGroup : favourites.defaultGroup,
initialValues : favourites.initialValues,
favouritesList : favourites.favouritesList,
loadingFavValues : favourites.loadingFavValues,
applyingFavValues : favourites.applyingFavValues,
}
}
至useSelector
。
任何帮助或参考书目将不胜感激
如何使用mapStateToProps
因此mapStateToProps
具有state
作为参数。
通常我是这样写的:
function mapStateToProps (state) {
return {
favValues: state.favorites.favValues,
// etc..
}
}
你刚刚解构了它,但是这里state={ queryFilter, favorites}
。
如何使用useSelector
有了useSelector
,它也会在回调中接收状态,所以你的钩子应该是这样的:
const favorites = useSelector(state => state.favorites.favValues);
或者我建议你可以再次描述这种状态,看起来像这样:
const favorites = useSelector(({favorites})=> favorites.favValues);