{"action":"created","issue":{"url":"https://api.github.com/repos/erikras/redux-form/issues/1292","repository_url":"https://api.github.com/repos/erikras/redux-form","labels_url":"https://api.github.com/repos/erikras/redux-form/issues/1292/labels{/name}","comments_url":"https://api.github.com/repos/erikras/redux-form/issues/1292/comments","events_url":"https://api.github.com/repos/erikras/redux-form/issues/1292/events","html_url":"https://github.com/erikras/redux-form/pull/1292","id":164146695,"number":1292,"title":"Moved sync errors into Redux state","user":{"login":"erikras","id":4396759,"avatar_url":"https://avatars.githubusercontent.com/u/4396759?v=3","gravatar_id":"","url":"https://api.github.com/users/erikras","html_url":"https://github.com/erikras","followers_url":"https://api.github.com/users/erikras/followers","following_url":"https://api.github.com/users/erikras/following{/other_user}","gists_url":"https://api.github.com/users/erikras/gists{/gist_id}","starred_url":"https://api.github.com/users/erikras/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erikras/subscriptions","organizations_url":"https://api.github.com/users/erikras/orgs","repos_url":"https://api.github.com/users/erikras/repos","events_url":"https://api.github.com/users/erikras/events{/privacy}","received_events_url":"https://api.github.com/users/erikras/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/erikras/redux-form/milestones/1","html_url":"https://github.com/erikras/redux-form/milestones/next-6.0.0","labels_url":"https://api.github.com/repos/erikras/redux-form/milestones/1/labels","id":1736711,"number":1,"title":"next-6.0.0","description":"","creator":{"login":"ooflorent","id":168498,"avatar_url":"https://avatars.githubusercontent.com/u/168498?v=3","gravatar_id":"","url":"https://api.github.com/users/ooflorent","html_url":"https://github.com/ooflorent","followers_url":"https://api.github.com/users/ooflorent/followers","following_url":"https://api.github.com/users/ooflorent/following{/other_user}","gists_url":"https://api.github.com/users/ooflorent/gists{/gist_id}","starred_url":"https://api.github.com/users/ooflorent/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ooflorent/subscriptions","organizations_url":"https://api.github.com/users/ooflorent/orgs","repos_url":"https://api.github.com/users/ooflorent/repos","events_url":"https://api.github.com/users/ooflorent/events{/privacy}","received_events_url":"https://api.github.com/users/ooflorent/received_events","type":"User","site_admin":false},"open_issues":10,"closed_issues":87,"state":"open","created_at":"2016-04-28T15:08:08Z","updated_at":"2016-07-06T19:23:30Z","due_on":null,"closed_at":null},"comments":4,"created_at":"2016-07-06T18:46:55Z","updated_at":"2016-07-15T04:44:49Z","closed_at":"2016-07-06T19:23:30Z","pull_request":{"url":"https://api.github.com/repos/erikras/redux-form/pulls/1292","html_url":"https://github.com/erikras/redux-form/pull/1292","diff_url":"https://github.com/erikras/redux-form/pull/1292.diff","patch_url":"https://github.com/erikras/redux-form/pull/1292.patch"},"body":"I have resisted this for a very long time, all the way back to Issue #45, but putting the sync errors into the Redux state solves so many problems that I was taking convoluted measures to fix before.\r\n\r\nThe outer form HOC is in charge of noticing when values change, running sync validation, and then dispatching `UPDATE_SYNC_ERRORS` if and only if the sync errors have changed.\r\n\r\nFixes #1282 #1284"},"comment":{"url":"https://api.github.com/repos/erikras/redux-form/issues/comments/232858733","html_url":"https://github.com/erikras/redux-form/pull/1292#issuecomment-232858733","issue_url":"https://api.github.com/repos/erikras/redux-form/issues/1292","id":232858733,"user":{"login":"chrisbateman","id":1145857,"avatar_url":"https://avatars.githubusercontent.com/u/1145857?v=3","gravatar_id":"","url":"https://api.github.com/users/chrisbateman","html_url":"https://github.com/chrisbateman","followers_url":"https://api.github.com/users/chrisbateman/followers","following_url":"https://api.github.com/users/chrisbateman/following{/other_user}","gists_url":"https://api.github.com/users/chrisbateman/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisbateman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisbateman/subscriptions","organizations_url":"https://api.github.com/users/chrisbateman/orgs","repos_url":"https://api.github.com/users/chrisbateman/repos","events_url":"https://api.github.com/users/chrisbateman/events{/privacy}","received_events_url":"https://api.github.com/users/chrisbateman/received_events","type":"User","site_admin":false},"created_at":"2016-07-15T04:44:49Z","updated_at":"2016-07-15T04:44:49Z","body":"@erikras One possible downside to this approach is that you can't really use React elements for error messages. For instance:\r\n\r\n```javascript\r\n   errors.firstName = <span>A message with some <b>bold text</b></span>;\r\n```\r\n\r\nPutting React elements in a redux store can do some pretty bad things for redux performance. If it were just simple HTML - you could use dangerouslySetInnerHTML to render error messages - but that doesn't allow for the use of other reusable React components in the error messages. Any possible alternatives for this case?"}}
{"actor":{"display_login":"chrisbateman"}}