i have simple code valdiations inputs in state:
validateform2: function () { var formisvalid = true; (var = 0; < this.state.inputs.length; i++) { var currentinput = this.state.inputs[i]; var inputvalue = this.state[currentinput.name]; if (!currentinput.validate(inputvalue)) { formisvalid = false; this.makeinvalid(currentinput.name); } } return formisvalid; },
makeinvalid
calls other method showing error message:
makeinvalid: function (elemname) { ... this.showvalidationerror(inputs[i].validatemessage); ... }
this showvalidtionmessage
:
showvalidationerror: function (message) { var summary = this.state.validationsummary + message; this.setstate({ validationsummary: summary }); }
when have 2 errors showvalidationerror
called twice , in debugger see there 2 different message come function, validationsummary
has 1 message(the second). don't know why. also, tried write console.log(this.state.validationsummary)
after setstate
, in console empty string after first call. error?
ps. have read documentation , there written setstate()
not mutate this.state
creates pending state transition. may reason? if how rewrite code?
Comments
Post a Comment