dva页面传值的方法

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

你可能感兴趣的:(H5)