FWIW, I'm a Redux maintainer, and I built this specifically in response to how I've seen people _want_ to use Redux, and the concerns they've raised about using Redux. [0]
Almost everyone uses `redux-thunk` [1]. Adding that to a plain Redux store takes a few steps. Adding middleware _and_ setting up the Redux DevTools Extension adds another couple steps [2] So, RSK's `configureStore()` does that by default [3].
Accidental mutation is the #1 mistake folks make when writing Redux apps [4]. So, `configureStore()` adds a middleware by default that warns about that mistake [5].
Writing immutable update logic can be difficult, and especially painful if the updates are nested [6]. Also, many folks don't want to use switch statements for some reason [7]. So, we ship a `createReducer()` utility that lets you write "mutative" immutable updates, and define the reducers as a lookup table [8].
Many people don't like writing action types and action creators by hand. So, RSK includes a `createSlice` utility that generates those automatically. [9]
None of these are incredibly ground-breaking. There's lots of existing Redux addons that do similar things. But, we're including all these utilities in an "official" package, and recommending that folks use it.
No one's being forced to use RSK. But, I can say that just about everyone who's seen this has said something similar to "this looks awesome, I can't wait to use this!".
[0] https://github.com/reduxjs/redux/issues/2295
[1] https://blog.isquaredsoftware.com/presentations/2017-09-migh...
[2] https://redux.js.org/recipes/configuring-your-store#integrat...
[3] https://redux-starter-kit.js.org/api/configureStore
[4] https://redux.js.org/faq/react-redux#why-isnt-my-component-r...
[5] https://redux-starter-kit.js.org/api/getDefaultMiddleware
[6] https://redux.js.org/recipes/structuring-reducers/immutable-...
[7] https://blog.isquaredsoftware.com/2017/05/idiomatic-redux-ta...
[8] https://redux-starter-kit.js.org/api/createReducer
[9] https://redux-starter-kit.js.org/api/createSlice