最近想用antd design pro写一个后台管理页面,碰到一个问题,苦思不得其解,求赐教。
在普通的页面中,通过使用connect来联结model中的数据。
export default connect(
({
listAndbasicList,
loading,
}: {
listAndbasicList: StateType;
loading: {
models: { [key: string]: boolean };
};
}) => ({
listAndbasicList,
loading: loading.models.listAndbasicList,
}),
)(BasicList);
我现在需要在request.ts中取到store中的数据,不知怎么做
import { extend } from 'umi-request';
import { notification } from 'antd';
const token = // 如何从store中取
const request = extend({
errorHandler, // 默认错误处理
credentials: 'include', // 默认请求是否带上cookie
headers: { Authorization: `token` },
});
export default request;
发现了dva在普通js中取store中的数据的方法
在老的版本里,需要使用
window.g_app.store
来访问。新版本里使用getDvaApp,获取 dva 实例。再获取其上的Store。
但是发现我这个场景下用拦截器是最方便是的