在学习了redux基本教程后,课程参考如下网址:https://www.redux.org.cn/docs/introduction/CoreConcepts.html,开始着手练习
1.首先编写一个actions
export const CHANGE_VALUE = 'CHANGE_VALUE';
function infoInputChange(data) {
return (dispatch) => {
dispatch({
type: CHANGE_VALUE,
data: {
...data,
},
});
};
}
export { infoInputChange };
2.编写一个reducers
import * as actions from '../actions/patient.js';
const initialState = {
patientSelectedRowKeys: [],
};
export default function index(state = initialState, action = {}) {
switch (action.type) {
case actions.CHANGE_VALUE:
return Object.assign({}, state, {
patientSelectedRowKeys: action.data,
});
default:
return state;
}
}
3.在reducers 的index.js中填加如下内容
import { combineReducers } from 'redux';
import patient from './patient';
// 将现有的reduces加上路由的reducer
const rootReducer = combineReducers({
patient,
// routing: routerReducer,
});
export default rootReducer;
4.在使用的组件存取中要先引入
import { connect } from 'react-redux';
import * as actions from '@actions/patient.js';
//取store数据时候用
const { PatientTableState = {} } = this.props;
const patientSelectedRowKeys = PatientTableState.patientSelectedRowKeys.patientSelectedRowKeys;
//数据变更后存数据用
this.props.dispatch(actions.infoInputChange({
patientSelectedRowKeys: ids,
}));
export default connect((state) => {
return {
PatientTableState: state.patient,
};
})(PatientTable);