Add Redux and use it for state management

This commit is contained in:
riggraz
2019-09-11 18:30:59 +02:00
parent db4c1445ba
commit 8d9ab0f717
22 changed files with 656 additions and 246 deletions

View File

@@ -0,0 +1,40 @@
import { connect } from 'react-redux';
import { requestPosts } from '../actions/requestPosts';
import { requestPostStatuses } from '../actions/requestPostStatuses';
import {
setSearchFilter,
setPostStatusFilter,
} from '../actions/changeFilters';
import { State } from '../reducers/rootReducer';
import BoardP from '../components/Board/BoardP';
const mapStateToProps = (state: State) => ({
posts: state.posts,
postStatuses: state.postStatuses,
});
const mapDispatchToProps = (dispatch) => ({
requestPosts(boardId: number, page: number = 1, searchQuery: string = '', postStatusId: number) {
dispatch(requestPosts(boardId, page, searchQuery, postStatusId));
},
requestPostStatuses() {
dispatch(requestPostStatuses());
},
handleSearchFilterChange(searchQuery: string) {
dispatch(setSearchFilter(searchQuery));
},
handlePostStatusFilterChange(postStatusId: number) {
dispatch(setPostStatusFilter(postStatusId));
},
});
export default connect(
mapStateToProps,
mapDispatchToProps,
)(BoardP);