Closed liujiayii closed 4 years ago
这个是我的用法,你可以看一下.
import { useCallback, useState } from 'react';
import Cookies from 'js-cookie';
import { Login } from '@/services/auth';
export default function useAuthModel() {
let temp: Types.AuthDto = {
accessExpires: 0,
accessToken: '',
nickName: '',
userId: ''
};
const [auth, setAuth] = useState(temp);
const [loading, setLoading] = useState(false);
const login = useCallback(async ({ account, password }: { account: string; password: string }) => {
setLoading(true);
await Login({ userName: account, password })
.then((response: Types.AjaxResult) => {
let data: Types.AuthDto = response.data;
const { accessToken, userId } = data;
Cookies.set('accessToken', accessToken, { path: '/' });
Cookies.set('userId', userId, { path: '/' });
setAuth(data);
setLoading(false);
})
.catch(() => {
setLoading(false);
});
}, []);
const logout = useCallback(() => {
// logout implementation
// setUser(null)
}, []);
return { auth, loading, login, logout };
}
1:useModel是不是不支持像之前dva那样可以在页面建个model.js就可以用? 2:loading是不是都要自己处理,感觉比较麻烦,有没有好的方案?
useModel的名称需要符合规则,比如我这里的useAuthModel通过我这种包装过后用法其实和Dva差不多.
emmm看过了
emmm看过了
若是不习惯的话,还是可以用dva来做.就是dva写起来有点麻烦.
emmm看过了
loading目前看起来基本上是全部都需要自己处理了.以前dva的话dva有自动处理.
我感觉dva比较有优势的就是loading和随便在一个位置建个mode.js都会被umi收集,不一定非要在model文件夹下,,全放在model文件夹下太多会比较乱
我感觉dva比较有优势的就是loading和随便在一个位置建个mode.js都会被umi收集,不一定非要在model文件夹下,,全放在model文件夹下太多会比较乱
这点确实是,我觉得umi应该实现model文件夹下可以建子文件夹就好了,dva目前主要是使用起来会写大量的声明,稍显麻烦了.相比Hooks,Hooks的局限在于只能用于函数组件.
1:useModel是不是不支持像之前dva那样可以在页面建个model.js就可以用? 2:loading是不是都要自己处理,感觉比较麻烦,有没有好的方案?
V5 中还自带了 useRequest hooks ,很多页面并不需要数据共享,我们可以用 useRequest 来快速的网络请求,并且内置了 loading 和 run 来指示状态和重新请求数据,使用方式极为简单。
但是useCallback好像还是需要手动处理loading
import { useRequest } from 'umi';
export default () => {
const { data, error, loading } = useRequest(() => {
return services.getUserList('/api/test');
});
if (loading) {
return <div>loading...</div>;
}
if (error) {
return <div>{error.message}</div>;
}
return <div>{data.name}</div>;
};
今天试了试大致useModels和useRequest会用了,,就是权限不能像之前那样按角色分配了 必须得一个权限写一个?
今天试了试大致useModels和useRequest会用了,,就是权限不能像之前那样按角色分配了 必须得一个权限写一个?
权限我还没仔细研究,看起来是需要一个权限写一个了.
今天试了试大致useModels和useRequest会用了,,就是权限不能像之前那样按角色分配了 必须得一个权限写一个?
权限我还没仔细研究,看起来是需要一个权限写一个了.
大佬研究一下 共同学习
今天试了试大致useModels和useRequest会用了,,就是权限不能像之前那样按角色分配了 必须得一个权限写一个?
权限我还没仔细研究,看起来是需要一个权限写一个了.
大佬研究一下 共同学习
今天准备给公司项目升级了.得试试权限了.
1:useModel是不是不支持像之前dva那样可以在页面建个model.js就可以用? 2:loading是不是都要自己处理,感觉比较麻烦,有没有好的方案?