{"action":"created","issue":{"url":"https://api.github.com/repos/xinsight/mobx-redux-showdown/issues/1","repository_url":"https://api.github.com/repos/xinsight/mobx-redux-showdown","labels_url":"https://api.github.com/repos/xinsight/mobx-redux-showdown/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/xinsight/mobx-redux-showdown/issues/1/comments","events_url":"https://api.github.com/repos/xinsight/mobx-redux-showdown/issues/1/events","html_url":"https://github.com/xinsight/mobx-redux-showdown/pull/1","id":384133219,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMzNDEwMTIw","number":1,"title":"Simplify Redux app using redux-starter-kit","user":{"login":"markerikson","id":1128784,"node_id":"MDQ6VXNlcjExMjg3ODQ=","avatar_url":"https://avatars1.githubusercontent.com/u/1128784?v=4","gravatar_id":"","url":"https://api.github.com/users/markerikson","html_url":"https://github.com/markerikson","followers_url":"https://api.github.com/users/markerikson/followers","following_url":"https://api.github.com/users/markerikson/following{/other_user}","gists_url":"https://api.github.com/users/markerikson/gists{/gist_id}","starred_url":"https://api.github.com/users/markerikson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markerikson/subscriptions","organizations_url":"https://api.github.com/users/markerikson/orgs","repos_url":"https://api.github.com/users/markerikson/repos","events_url":"https://api.github.com/users/markerikson/events{/privacy}","received_events_url":"https://api.github.com/users/markerikson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-11-25T23:54:35Z","updated_at":"2018-11-26T00:44:07Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/xinsight/mobx-redux-showdown/pulls/1","html_url":"https://github.com/xinsight/mobx-redux-showdown/pull/1","diff_url":"https://github.com/xinsight/mobx-redux-showdown/pull/1.diff","patch_url":"https://github.com/xinsight/mobx-redux-showdown/pull/1.patch"},"body":"I've rewritten the Redux app in this example [using our new `redux-starter-kit` package](https://github.com/reduxjs/redux-starter-kit).  \r\n\r\nIn the process:\r\n\r\n- I removed `redux-saga` and `Immutable.js` entirely\r\n- The fetch logic, which was previously handled by a saga, is now handled in a thunk that uses async/await.\r\n- The Redux logic is now all written in a single file, `src/features/featureSets.js`, which is only 55 lines long.  (For comparison, the MobX `ValueSetStore.js` file is 81 lines long, although that could also be shortened.) All the previous separate Redux-related files and folders have been removed, as they're no longer necessary.\r\n- There's no hand-written action creators or action type constants, and no spreads in any of the reducers\r\n- The component logic was simplified as well.\r\n- The separate dependency on `redux-devtools-extension` was removed, as that is handled internally by the starter kit's `configureStore()` function\r\n- I moved the store setup to a separate `store.js` file, but it could easily have stayed in `App.js`, and it's only about 5 lines anyway.\r\n\r\nI probably would have written things a bit more verbosely in a real app, but this helps prove that Redux itself doesn't _have_ to be verbose, and that you can simplify Redux-based code considerably using `redux-starter-kit`."},"comment":{"url":"https://api.github.com/repos/xinsight/mobx-redux-showdown/issues/comments/441489221","html_url":"https://github.com/xinsight/mobx-redux-showdown/pull/1#issuecomment-441489221","issue_url":"https://api.github.com/repos/xinsight/mobx-redux-showdown/issues/1","id":441489221,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0MTQ4OTIyMQ==","user":{"login":"markerikson","id":1128784,"node_id":"MDQ6VXNlcjExMjg3ODQ=","avatar_url":"https://avatars1.githubusercontent.com/u/1128784?v=4","gravatar_id":"","url":"https://api.github.com/users/markerikson","html_url":"https://github.com/markerikson","followers_url":"https://api.github.com/users/markerikson/followers","following_url":"https://api.github.com/users/markerikson/following{/other_user}","gists_url":"https://api.github.com/users/markerikson/gists{/gist_id}","starred_url":"https://api.github.com/users/markerikson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markerikson/subscriptions","organizations_url":"https://api.github.com/users/markerikson/orgs","repos_url":"https://api.github.com/users/markerikson/repos","events_url":"https://api.github.com/users/markerikson/events{/privacy}","received_events_url":"https://api.github.com/users/markerikson/received_events","type":"User","site_admin":false},"created_at":"2018-11-26T00:44:07Z","updated_at":"2018-11-26T00:44:07Z","author_association":"NONE","body":"Aha.  That's the one aspect of the original saga logic I didn't notice the first time around:\r\n\r\nhttps://github.com/xinsight/mobx-redux-showdown/blob/3e6da448823549e36c4947b2466fb73be03b5f19/redux-app/src/redux/sagas/sagas.js#L37-L48\r\n\r\nYup, easily fixed.  Pushing that change now.  \r\n"}}
{"actor":{"display_login":"markerikson"}}