我希望能够访问特定js文件中状态内部的值,但是mapStateToProps
已经看起来像这样:
const mapStateToProps = summarySelector;
通常要在我的状态内访问值,看起来像这样:
const mapStateToProps = ({
sessions,
consumerName: { value: consumerName },
consumerEmail: { value: consumerEmail },
consumerPhonenumber: { value: consumerPhonenumber },
order,
event,
tickets,
extraItemQuantities,
}) => ({
consumerName,
consumerEmail,
consumerPhonenumber,
order,
event,
tickets,
extraItemQuantities,
});
但是,在我的情况下,SummarySelector
是一个外部函数,我尝试将其重组为以下内容以访问我的变量(以及进行所需的较小更改):
const mapStateToProps = ({
summarySelector,
discountedTotal,
}) => ({
summarySelector,
discountedTotal
});
关于我在做什么错的任何建议?
答案 0 :(得分:2)
summarySelector
是一个函数,将状态作为参数给出它返回一个对象。
要在mapStateToProps
函数中保留初始结构,您需要调用summarySelector
并返回扩展了附加属性的对象。
答案 1 :(得分:1)
summarySelector
是否需要状态作为参数?
通常,redux选择器就是这种情况,因此您需要传递状态,例如:
const mapStateToProps = (state) => ({
summary: summarySelector(state),
discountedTotal: state.discountedTotal,
});
请记住,mapStateToProps是一个函数,该函数接收(状态,道具)作为参数,并返回带有所需道具的对象。