dva页面间传递数据的方法有(假定从页面A传数据给页面B):
1.model数据共享(共享state数据)
在B的model中的effects中获取A的state,其中a为A的namespace,response 为A的state,如
effects: {
*fetchResult({ callback }, { call, put, select }) {
const response = yield select(_ => _.a)
yield put({ type: "saveEvents", payload:{response} });
if (callback) callback(response);
}
},
2.dispatch传递,如
在A页面
this.props.dispatch(routerRedux.push({
pathname: "/b",
query: {
data: this.props.a
},
}))
在B页面:
const data = this.props.location.query && this.props.location.query.data ? this.props.location.query.data:null