react中调用action传参时要通过函数的形式
例子如下:
<div onClick={() => { handleChangePage(page, totalPage) }}>换一批</div>
注意不能直接写οnclick=handleChangePage(page, totalPage),要写在新函数中
onClick={() => { handleChangePage(page, totalPage)
action部分对应代码
const mapDispatchToProps = (dispatch) => {
return {
handleChangePage(page, totalPage) {
if (page < totalPage) {
dispatch(actionCreators.changePage(page + 1));
} else {
dispatch(actionCreators.changePage(1));
}
}
}
}
actionCreators
export const changePage = (page) => ({
type: constants.CHANGE_PAGE,
page
});
reducer
export default (state = defaultState, action) => {
switch (action.type) {
...
case constants.CHANGE_PAGE:
return state.set('page', action.page);
default:
return state;
}
}