由于在mapStateToProps

时间:2018-11-07 11:02:35

标签: reactjs redux

我希望能够访问特定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
});

关于我在做什么错的任何建议?

2 个答案:

答案 0 :(得分:2)

summarySelector是一个函数,将状态作为参数给出它返回一个对象。

要在mapStateToProps函数中保留初始结构,您需要调用summarySelector并返回扩展了附加属性的对象。

答案 1 :(得分:1)

summarySelector是否需要状态作为参数?

通常,redux选择器就是这种情况,因此您需要传递状态,例如:

const mapStateToProps = (state) => ({
  summary: summarySelector(state),
  discountedTotal: state.discountedTotal,
});

请记住,mapStateToProps是一个函数,该函数接收(状态,道具)作为参数,并返回带有所需道具的对象。