Невозможно получить доступ к состоянию из-за функции, вызванной в mapStateToProps - PullRequest
0 голосов
/ 07 ноября 2018

Я хочу получить доступ к значению внутри моего состояния в определенном 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 голосов
/ 07 ноября 2018

summarySelector - это функция, передающая состояние в качестве параметра, возвращающего объект.

Для сохранения исходной структуры в функции mapStateToProps необходимо вызвать summarySelector и вернуть объект, расширенный дополнительным свойством.

0 голосов
/ 07 ноября 2018

нужно ли summarySelector состояние в качестве параметра?

Обычно так обстоит дело с редукционными селекторами, поэтому вам нужно передать состояние, выполнив что-то вроде этого:

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

Имейте в виду, что mapStateToProps - это функция, которая получает (состояние, реквизиты) в качестве параметров и возвращает объект с нужными реквизитами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...