{"action":"created","issue":{"url":"https://api.github.com/repos/rackt/redux/issues/1236","labels_url":"https://api.github.com/repos/rackt/redux/issues/1236/labels{/name}","comments_url":"https://api.github.com/repos/rackt/redux/issues/1236/comments","events_url":"https://api.github.com/repos/rackt/redux/issues/1236/events","html_url":"https://github.com/rackt/redux/issues/1236","id":126702107,"number":1236,"title":"Add createStoreWithMiddleware function","user":{"login":"gajus","id":973543,"avatar_url":"https://avatars.githubusercontent.com/u/973543?v=3","gravatar_id":"","url":"https://api.github.com/users/gajus","html_url":"https://github.com/gajus","followers_url":"https://api.github.com/users/gajus/followers","following_url":"https://api.github.com/users/gajus/following{/other_user}","gists_url":"https://api.github.com/users/gajus/gists{/gist_id}","starred_url":"https://api.github.com/users/gajus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gajus/subscriptions","organizations_url":"https://api.github.com/users/gajus/orgs","repos_url":"https://api.github.com/users/gajus/repos","events_url":"https://api.github.com/users/gajus/events{/privacy}","received_events_url":"https://api.github.com/users/gajus/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/rackt/redux/labels/discussion","name":"discussion","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-01-14T17:12:48Z","updated_at":"2016-01-15T16:37:11Z","closed_at":null,"body":"Most of the real life examples (and the official [documentation](http://rackt.org/redux/docs/api/applyMiddleware.html#example-custom-logger-middleware)) introduce an extra and unnecessary step of having to use `applyMiddleware` to create a function that is often named `createStoreWithMiddleware` (not to mention the awkward, variadic `applyMiddleware` syntax in the first place).\r\n\r\nIt would make sense to have a function `createStoreWithMiddleware` with API:\r\n\r\n```js\r\ncreateStoreWithMiddleware(middlewares: Array<Function>, reducer, [initialState]): Object\r\n```\r\n\r\nthat is equivalent to calling:\r\n\r\n```js\r\ncreateStoreWithMiddleware = applyMiddleware(logger)(createStore);\r\nstore = createStoreWithMiddleware(todos, [ 'Use Redux' ]);\r\n```"},"comment":{"url":"https://api.github.com/repos/rackt/redux/issues/comments/172009404","html_url":"https://github.com/rackt/redux/issues/1236#issuecomment-172009404","issue_url":"https://api.github.com/repos/rackt/redux/issues/1236","id":172009404,"user":{"login":"rossipedia","id":96213,"avatar_url":"https://avatars.githubusercontent.com/u/96213?v=3","gravatar_id":"","url":"https://api.github.com/users/rossipedia","html_url":"https://github.com/rossipedia","followers_url":"https://api.github.com/users/rossipedia/followers","following_url":"https://api.github.com/users/rossipedia/following{/other_user}","gists_url":"https://api.github.com/users/rossipedia/gists{/gist_id}","starred_url":"https://api.github.com/users/rossipedia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rossipedia/subscriptions","organizations_url":"https://api.github.com/users/rossipedia/orgs","repos_url":"https://api.github.com/users/rossipedia/repos","events_url":"https://api.github.com/users/rossipedia/events{/privacy}","received_events_url":"https://api.github.com/users/rossipedia/received_events","type":"User","site_admin":false},"created_at":"2016-01-15T16:37:11Z","updated_at":"2016-01-15T16:37:11Z","body":"IMO this is not the responsibility of the library. Redux API surface is small, tight, and focused, and keeping it that way affords the most flexibility. "}}