Beginning React+Redux "Music Store" sample

This commit is contained in:
SteveSandersonMS
2016-02-05 23:28:13 +00:00
parent 35e620ae48
commit 5811c98230
69 changed files with 7508 additions and 6 deletions

View File

@@ -0,0 +1,27 @@
import { ActionCreatorGeneric } from '../TypedRedux';
import * as FeaturedAlbums from './FeaturedAlbums';
import * as GenreList from './GenreList';
import * as GenreDetails from './GenreDetails';
import * as AlbumDetails from './AlbumDetails';
// The top-level state object
export interface ApplicationState {
featuredAlbums: FeaturedAlbums.FeaturedAlbumsState;
genreList: GenreList.GenresListState,
genreDetails: GenreDetails.GenreDetailsState,
albumDetails: AlbumDetails.AlbumDetailsState
}
// Whenever an action is dispatched, Redux will update each top-level application state property using
// the reducer with the matching name. It's important that the names match exactly, and that the reducer
// acts on the corresponding ApplicationState property type.
export const reducers = {
featuredAlbums: FeaturedAlbums.reducer,
genreList: GenreList.reducer,
genreDetails: GenreDetails.reducer,
albumDetails: AlbumDetails.reducer
};
// This type can be used as a hint on action creators so that its 'dispatch' and 'getState' params are
// correctly typed to match your store.
export type ActionCreator = ActionCreatorGeneric<ApplicationState>;