После отправки в редуксе ничего не вызывается? - PullRequest
0 голосов
/ 13 ноября 2018

Я пытаюсь отобразить массив и вызвать диспетчеризацию каждый раз. он работает в коде, но не работает в модульных тестах. см. ниже

const errorArray = [this contains 2 objects]

errorArray.map(err => dispatch(myFunc(MY_VAR, err.msg)))

когда я тогда утверждаю expect(myFunc).toHaveBeenCalledTimes(2), это терпит неудачу, потому что говорит, что он был вызван только один раз

поэтому я изменил свой код на

console.log('hi')
dispatch(myFunc(MY_VAR, 'randomstring'))

// это распечатано 'привет'

Затем я поменял его местами на

dispatch(myFunc(MY_VAR, 'randomstring'))
console.log('hi')

и привет не был зарегистрирован. Означает ли это, что после отправки больше ничего не вызывается после? это также объяснило бы первую часть, когда я утверждаю для 2 рассылок. но он делает только первый. Что я делаю неправильно? Я просто хочу отобразить свой массив ошибок и отослать за каждым из них

1 Ответ

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

Отображение в массиве возвращает новый массив: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

Кажется, что цикл for является лучшей конструкцией:

errorArray.forEach(function(element) { dispatch(myFunc(MY_VAR, element.msg)) });

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