use configureStore of redux-toolkit instead of createStore of redux (#24790)
This commit is contained in:
		
							parent
							
								
									2839fbc733
								
							
						
					
					
						commit
						8227af8dcc
					
				
					 4 changed files with 23 additions and 7 deletions
				
			
		| 
						 | 
					@ -5,7 +5,7 @@ import { IntlProvider, addLocaleData } from 'react-intl';
 | 
				
			||||||
import { Provider as ReduxProvider } from 'react-redux';
 | 
					import { Provider as ReduxProvider } from 'react-redux';
 | 
				
			||||||
import { BrowserRouter, Route } from 'react-router-dom';
 | 
					import { BrowserRouter, Route } from 'react-router-dom';
 | 
				
			||||||
import { ScrollContext } from 'react-router-scroll-4';
 | 
					import { ScrollContext } from 'react-router-scroll-4';
 | 
				
			||||||
import configureStore from 'mastodon/store/configureStore';
 | 
					import { store } from 'mastodon/store/configureStore';
 | 
				
			||||||
import UI from 'mastodon/features/ui';
 | 
					import UI from 'mastodon/features/ui';
 | 
				
			||||||
import { fetchCustomEmojis } from 'mastodon/actions/custom_emojis';
 | 
					import { fetchCustomEmojis } from 'mastodon/actions/custom_emojis';
 | 
				
			||||||
import { hydrateStore } from 'mastodon/actions/store';
 | 
					import { hydrateStore } from 'mastodon/actions/store';
 | 
				
			||||||
| 
						 | 
					@ -19,7 +19,6 @@ addLocaleData(localeData);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const title = process.env.NODE_ENV === 'production' ? siteTitle : `${siteTitle} (Dev)`;
 | 
					const title = process.env.NODE_ENV === 'production' ? siteTitle : `${siteTitle} (Dev)`;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const store = configureStore();
 | 
					 | 
				
			||||||
const hydrateAction = hydrateStore(initialState);
 | 
					const hydrateAction = hydrateStore(initialState);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
store.dispatch(hydrateAction);
 | 
					store.dispatch(hydrateAction);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,15 +1,16 @@
 | 
				
			||||||
import { createStore, applyMiddleware, compose } from 'redux';
 | 
					import { configureStore } from '@reduxjs/toolkit';
 | 
				
			||||||
import thunk from 'redux-thunk';
 | 
					import thunk from 'redux-thunk';
 | 
				
			||||||
import appReducer from '../reducers';
 | 
					import appReducer from '../reducers';
 | 
				
			||||||
import loadingBarMiddleware from '../middleware/loading_bar';
 | 
					import loadingBarMiddleware from '../middleware/loading_bar';
 | 
				
			||||||
import errorsMiddleware from '../middleware/errors';
 | 
					import errorsMiddleware from '../middleware/errors';
 | 
				
			||||||
import soundsMiddleware from '../middleware/sounds';
 | 
					import soundsMiddleware from '../middleware/sounds';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default function configureStore() {
 | 
					export const store = configureStore({
 | 
				
			||||||
  return createStore(appReducer, compose(applyMiddleware(
 | 
					  reducer: appReducer,
 | 
				
			||||||
 | 
					  middleware: [
 | 
				
			||||||
    thunk,
 | 
					    thunk,
 | 
				
			||||||
    loadingBarMiddleware({ promiseTypeSuffixes: ['REQUEST', 'SUCCESS', 'FAIL'] }),
 | 
					    loadingBarMiddleware({ promiseTypeSuffixes: ['REQUEST', 'SUCCESS', 'FAIL'] }),
 | 
				
			||||||
    errorsMiddleware(),
 | 
					    errorsMiddleware(),
 | 
				
			||||||
    soundsMiddleware(),
 | 
					    soundsMiddleware(),
 | 
				
			||||||
  ), window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__() : f => f));
 | 
					  ],
 | 
				
			||||||
}
 | 
					});
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -37,6 +37,7 @@
 | 
				
			||||||
    "@gamestdio/websocket": "^0.3.2",
 | 
					    "@gamestdio/websocket": "^0.3.2",
 | 
				
			||||||
    "@github/webauthn-json": "^2.1.1",
 | 
					    "@github/webauthn-json": "^2.1.1",
 | 
				
			||||||
    "@rails/ujs": "^6.1.7",
 | 
					    "@rails/ujs": "^6.1.7",
 | 
				
			||||||
 | 
					    "@reduxjs/toolkit": "^1.9.5",
 | 
				
			||||||
    "abortcontroller-polyfill": "^1.7.5",
 | 
					    "abortcontroller-polyfill": "^1.7.5",
 | 
				
			||||||
    "arrow-key-navigation": "^1.2.0",
 | 
					    "arrow-key-navigation": "^1.2.0",
 | 
				
			||||||
    "autoprefixer": "^10.4.14",
 | 
					    "autoprefixer": "^10.4.14",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										15
									
								
								yarn.lock
									
										
									
									
									
								
							
							
						
						
									
										15
									
								
								yarn.lock
									
										
									
									
									
								
							| 
						 | 
					@ -1721,6 +1721,16 @@
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@redis/time-series/-/time-series-1.0.4.tgz#af85eb080f6934580e4d3b58046026b6c2b18717"
 | 
					  resolved "https://registry.yarnpkg.com/@redis/time-series/-/time-series-1.0.4.tgz#af85eb080f6934580e4d3b58046026b6c2b18717"
 | 
				
			||||||
  integrity sha512-ThUIgo2U/g7cCuZavucQTQzA9g9JbDDY2f64u3AbAoz/8vE2lt2U37LamDUVChhaDA3IRT9R6VvJwqnUfTJzng==
 | 
					  integrity sha512-ThUIgo2U/g7cCuZavucQTQzA9g9JbDDY2f64u3AbAoz/8vE2lt2U37LamDUVChhaDA3IRT9R6VvJwqnUfTJzng==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"@reduxjs/toolkit@^1.9.5":
 | 
				
			||||||
 | 
					  version "1.9.5"
 | 
				
			||||||
 | 
					  resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-1.9.5.tgz#d3987849c24189ca483baa7aa59386c8e52077c4"
 | 
				
			||||||
 | 
					  integrity sha512-Rt97jHmfTeaxL4swLRNPD/zV4OxTes4la07Xc4hetpUW/vc75t5m1ANyxG6ymnEQ2FsLQsoMlYB2vV1sO3m8tQ==
 | 
				
			||||||
 | 
					  dependencies:
 | 
				
			||||||
 | 
					    immer "^9.0.21"
 | 
				
			||||||
 | 
					    redux "^4.2.1"
 | 
				
			||||||
 | 
					    redux-thunk "^2.4.2"
 | 
				
			||||||
 | 
					    reselect "^4.1.8"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"@restart/hooks@^0.4.7":
 | 
					"@restart/hooks@^0.4.7":
 | 
				
			||||||
  version "0.4.7"
 | 
					  version "0.4.7"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/@restart/hooks/-/hooks-0.4.7.tgz#d79ca6472c01ce04389fc73d4a79af1b5e33cd39"
 | 
					  resolved "https://registry.yarnpkg.com/@restart/hooks/-/hooks-0.4.7.tgz#d79ca6472c01ce04389fc73d4a79af1b5e33cd39"
 | 
				
			||||||
| 
						 | 
					@ -6281,6 +6291,11 @@ ignore@^5.2.0, ignore@^5.2.4:
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
 | 
					  resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
 | 
				
			||||||
  integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
 | 
					  integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					immer@^9.0.21:
 | 
				
			||||||
 | 
					  version "9.0.21"
 | 
				
			||||||
 | 
					  resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176"
 | 
				
			||||||
 | 
					  integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==
 | 
				
			||||||
 | 
					
 | 
				
			||||||
immutable@^3.8.2:
 | 
					immutable@^3.8.2:
 | 
				
			||||||
  version "3.8.2"
 | 
					  version "3.8.2"
 | 
				
			||||||
  resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3"
 | 
					  resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue