-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
enhancementNew feature or requestNew feature or request
Description
yarn add redux react-redux @types/react-redux redux-devtools-extension redux-thunk typescript-fsa-redux-thunkimport { composeWithDevTools } from "redux-devtools-extension";
import { applyMiddleware, createStore } from "redux";
import thunk from "redux-thunk";
import { AppStore } from "./types";
import { buildRootReducer } from "./reducers";
const configureStore = (): AppStore => {
const rootReducer = buildRootReducer();
const middleware = applyMiddleware(thunk);
const enhancers = composeWithDevTools(middleware);
const store = createStore(rootReducer, enhancers);
if (process.env.NODE_ENV !== "production" && module.hot) {
module.hot.accept("./reducers", () => store.replaceReducer(rootReducer));
}
return store;
};
export { configureStore };import { Store } from "redux";
import { ThunkDispatch } from "redux-thunk";
import { AnyAction } from "typescript-fsa";
import { CounterState } from "../data/example/rootTypes";
// eslint-disable-next-line @typescript-eslint/no-empty-interface
export interface AppState {
root: CounterState;
}
export type AppDispatch = ThunkDispatch<AppState, undefined, AnyAction>;
export type AppStore = Store<AppState, AnyAction> & { dispatch: AppDispatch };import { combineReducers } from "redux";
import { AppState } from "./types";
const buildRootReducer = () =>
combineReducers<AppState>({
});
export { buildRootReducer };Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request