Does nothing get called after dispatch in redux?
I am trying to map over an array and call dispatch every time. it's working in the code but failing in unit tests. see below
const errorArray = [this contains 2 objects]
errorArray.map(err => dispatch(myFunc(MY_VAR, err.msg)))
when I then assert expect(myFunc).toHaveBeenCalledTimes(2)
it fails because it says it was only called once
so then I changed my code to be
console.log('hi')
dispatch(myFunc(MY_VAR, 'randomstring'))
// this printed out 'hi'
I then swapped it round to be
dispatch(myFunc(MY_VAR, 'randomstring'))
console.log('hi')
and hi was NOT logged. does this mean that once dispatch has happened, nothing else gets called after? this would also explain the first part when I'm asserting for 2 dispatches. but it's only doing the first one. what am i doing wrong? I just want to map over my errors array and dispatch for every one inside there
javascript reactjs testing redux
add a comment |
I am trying to map over an array and call dispatch every time. it's working in the code but failing in unit tests. see below
const errorArray = [this contains 2 objects]
errorArray.map(err => dispatch(myFunc(MY_VAR, err.msg)))
when I then assert expect(myFunc).toHaveBeenCalledTimes(2)
it fails because it says it was only called once
so then I changed my code to be
console.log('hi')
dispatch(myFunc(MY_VAR, 'randomstring'))
// this printed out 'hi'
I then swapped it round to be
dispatch(myFunc(MY_VAR, 'randomstring'))
console.log('hi')
and hi was NOT logged. does this mean that once dispatch has happened, nothing else gets called after? this would also explain the first part when I'm asserting for 2 dispatches. but it's only doing the first one. what am i doing wrong? I just want to map over my errors array and dispatch for every one inside there
javascript reactjs testing redux
add a comment |
I am trying to map over an array and call dispatch every time. it's working in the code but failing in unit tests. see below
const errorArray = [this contains 2 objects]
errorArray.map(err => dispatch(myFunc(MY_VAR, err.msg)))
when I then assert expect(myFunc).toHaveBeenCalledTimes(2)
it fails because it says it was only called once
so then I changed my code to be
console.log('hi')
dispatch(myFunc(MY_VAR, 'randomstring'))
// this printed out 'hi'
I then swapped it round to be
dispatch(myFunc(MY_VAR, 'randomstring'))
console.log('hi')
and hi was NOT logged. does this mean that once dispatch has happened, nothing else gets called after? this would also explain the first part when I'm asserting for 2 dispatches. but it's only doing the first one. what am i doing wrong? I just want to map over my errors array and dispatch for every one inside there
javascript reactjs testing redux
I am trying to map over an array and call dispatch every time. it's working in the code but failing in unit tests. see below
const errorArray = [this contains 2 objects]
errorArray.map(err => dispatch(myFunc(MY_VAR, err.msg)))
when I then assert expect(myFunc).toHaveBeenCalledTimes(2)
it fails because it says it was only called once
so then I changed my code to be
console.log('hi')
dispatch(myFunc(MY_VAR, 'randomstring'))
// this printed out 'hi'
I then swapped it round to be
dispatch(myFunc(MY_VAR, 'randomstring'))
console.log('hi')
and hi was NOT logged. does this mean that once dispatch has happened, nothing else gets called after? this would also explain the first part when I'm asserting for 2 dispatches. but it's only doing the first one. what am i doing wrong? I just want to map over my errors array and dispatch for every one inside there
javascript reactjs testing redux
javascript reactjs testing redux
asked Nov 13 '18 at 8:44
the venomthe venom
375
375
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Mapping over an array returns a new array: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
A for-loop seems to be the better construct:
errorArray.forEach(function(element) {
dispatch(myFunc(MY_VAR, element.msg))
});
nah, that makes no difference :/
– the venom
Nov 13 '18 at 8:53
Can you set up a Stackblitz or Plunkr, so we get a better idea of the problem?
– Rutger van Dijk
Nov 13 '18 at 9:05
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53276998%2fdoes-nothing-get-called-after-dispatch-in-redux%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Mapping over an array returns a new array: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
A for-loop seems to be the better construct:
errorArray.forEach(function(element) {
dispatch(myFunc(MY_VAR, element.msg))
});
nah, that makes no difference :/
– the venom
Nov 13 '18 at 8:53
Can you set up a Stackblitz or Plunkr, so we get a better idea of the problem?
– Rutger van Dijk
Nov 13 '18 at 9:05
add a comment |
Mapping over an array returns a new array: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
A for-loop seems to be the better construct:
errorArray.forEach(function(element) {
dispatch(myFunc(MY_VAR, element.msg))
});
nah, that makes no difference :/
– the venom
Nov 13 '18 at 8:53
Can you set up a Stackblitz or Plunkr, so we get a better idea of the problem?
– Rutger van Dijk
Nov 13 '18 at 9:05
add a comment |
Mapping over an array returns a new array: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
A for-loop seems to be the better construct:
errorArray.forEach(function(element) {
dispatch(myFunc(MY_VAR, element.msg))
});
Mapping over an array returns a new array: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
A for-loop seems to be the better construct:
errorArray.forEach(function(element) {
dispatch(myFunc(MY_VAR, element.msg))
});
answered Nov 13 '18 at 8:51
Rutger van DijkRutger van Dijk
867
867
nah, that makes no difference :/
– the venom
Nov 13 '18 at 8:53
Can you set up a Stackblitz or Plunkr, so we get a better idea of the problem?
– Rutger van Dijk
Nov 13 '18 at 9:05
add a comment |
nah, that makes no difference :/
– the venom
Nov 13 '18 at 8:53
Can you set up a Stackblitz or Plunkr, so we get a better idea of the problem?
– Rutger van Dijk
Nov 13 '18 at 9:05
nah, that makes no difference :/
– the venom
Nov 13 '18 at 8:53
nah, that makes no difference :/
– the venom
Nov 13 '18 at 8:53
Can you set up a Stackblitz or Plunkr, so we get a better idea of the problem?
– Rutger van Dijk
Nov 13 '18 at 9:05
Can you set up a Stackblitz or Plunkr, so we get a better idea of the problem?
– Rutger van Dijk
Nov 13 '18 at 9:05
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53276998%2fdoes-nothing-get-called-after-dispatch-in-redux%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown