@@ -1257,7 +1257,7 @@ Can be imported in various layers receiving or sending redux actions like: reduc
1257
1257
import { StateType , ActionType } from ' typesafe-actions' ;
1258
1258
1259
1259
declare module ' MyTypes' {
1260
- export type Store = StateType <typeof import (' ./index ' ).default >;
1260
+ export type Store = StateType <typeof import (' ./store ' ).default >;
1261
1261
export type RootAction = ActionType <typeof import (' ./root-action' ).default >;
1262
1262
export type RootState = StateType <ReturnType <typeof import (' ./root-reducer' ).default >>;
1263
1263
}
@@ -1279,20 +1279,16 @@ When creating a store instance we don't need to provide any additional types. It
1279
1279
1280
1280
` ` ` tsx
1281
1281
import { RootAction , RootState , Services } from ' MyTypes' ;
1282
- import { createStore , applyMiddleware } from ' redux' ;
1282
+ import { applyMiddleware , createStore } from ' redux' ;
1283
1283
import { createEpicMiddleware } from ' redux-observable' ;
1284
- import { createBrowserHistory } from ' history' ;
1285
- import { routerMiddleware as createRouterMiddleware } from ' connected-react-router' ;
1286
1284
1287
- import { composeEnhancers } from ' ./utils' ;
1288
- import rootReducer from ' ./root-reducer' ;
1289
- import rootEpic from ' ./root-epic' ;
1290
1285
import services from ' ../services' ;
1286
+ import { routerMiddleware } from ' ./redux-router' ;
1287
+ import rootEpic from ' ./root-epic' ;
1288
+ import rootReducer from ' ./root-reducer' ;
1289
+ import { composeEnhancers } from ' ./utils' ;
1291
1290
1292
- // browser history
1293
- export const history = createBrowserHistory ();
1294
-
1295
- export const epicMiddleware = createEpicMiddleware <
1291
+ const epicMiddleware = createEpicMiddleware <
1296
1292
RootAction,
1297
1293
RootAction,
1298
1294
RootState,
@@ -1301,8 +1297,6 @@ export const epicMiddleware = createEpicMiddleware<
1301
1297
dependencies : services ,
1302
1298
});
1303
1299
1304
- const routerMiddleware = createRouterMiddleware (history );
1305
-
1306
1300
// configure middlewares
1307
1301
const middlewares = [epicMiddleware , routerMiddleware ];
1308
1302
// compose enhancers
@@ -1312,7 +1306,11 @@ const enhancer = composeEnhancers(applyMiddleware(...middlewares));
1312
1306
const initialState = {};
1313
1307
1314
1308
// create store
1315
- const store = createStore (rootReducer (history ), initialState , enhancer );
1309
+ const store = createStore (
1310
+ rootReducer ,
1311
+ initialState ,
1312
+ enhancer
1313
+ );
1316
1314
1317
1315
epicMiddleware .run (rootEpic );
1318
1316
@@ -1366,7 +1364,7 @@ export const payloadCreatorAction = createAction(
1366
1364
<details><summary><i>Click to expand</i></summary><p>
1367
1365
1368
1366
` ` ` tsx
1369
- import store from ' ../../store' ;
1367
+ import { store } from ' ../../store/ ' ;
1370
1368
import { countersActions as counter } from ' ../counters' ;
1371
1369
1372
1370
// store.dispatch(counter.increment(1)); // Error: Expected 0 arguments, but got 1.
@@ -1856,20 +1854,31 @@ We have recommended `tsconfig.json` that you can easily add to your project than
1856
1854
1857
1855
` ` ` tsx
1858
1856
{
1859
- " extends" : " ./node_modules/react-redux-typescript-scripts/tsconfig.json" ,
1857
+ " compilerOptions" : {
1858
+ " target" : " ES6" ,
1859
+ " lib" : [
1860
+ " dom" ,
1861
+ " dom.iterable" ,
1862
+ " esnext"
1863
+ ],
1864
+ " allowJs" : true ,
1865
+ " skipLibCheck" : true ,
1866
+ " esModuleInterop" : true ,
1867
+ " allowSyntheticDefaultImports" : true ,
1868
+ " strict" : true ,
1869
+ " forceConsistentCasingInFileNames" : true ,
1870
+ " noFallthroughCasesInSwitch" : true ,
1871
+ " module" : " esnext" ,
1872
+ " moduleResolution" : " node" ,
1873
+ " resolveJsonModule" : true ,
1874
+ " isolatedModules" : true ,
1875
+ " noEmit" : true ,
1876
+ " jsx" : " react-jsx"
1877
+ },
1860
1878
" include" : [
1861
1879
" src" ,
1862
1880
" typings"
1863
- ],
1864
- " exclude" : [
1865
- ],
1866
- " compilerOptions" : {
1867
- " module" : " ESNext" ,
1868
- " target" : " ESNext" ,
1869
- " moduleResolution" : " Node" ,
1870
- " jsx" : " preserve" ,
1871
- " strict" : true
1872
- }
1881
+ ]
1873
1882
}
1874
1883
1875
1884
` ` `
@@ -1916,7 +1925,7 @@ module.exports = {
1916
1925
root: true ,
1917
1926
parser: ' @typescript-eslint/parser' ,
1918
1927
plugins: [' @typescript-eslint' ],
1919
- extends: [' react-app' , ' prettier' ],
1928
+ extends: [' react-app' , ' react-app/jest ' , ' prettier' ],
1920
1929
rules: { ' import/no-anonymous-default-export' : 0 },
1921
1930
};
1922
1931
0 commit comments