万变不离其宗,第一步,引入(我使用的umi脚手架)
import { useRequest } from '@umijs/hooks';
第二步,几个方法
// 用法 1
const { data, error, loading } = useRequest('/api/userInfo');
// 用法 2
const { data, error, loading } = useRequest({
url: '/api/changeUsername',
method: 'post',
});
// 用法 3
const { data, error, loading, run } = useRequest((userId)=> `/api/userInfo/${userId}`);
// 用法 4
const { loading, run } = useRequest((username) => ({
url: '/api/changeUsername',
method: 'post',
data: { username },
}));
useRequest始终在外层,举个例子,表单提交后执行POST方法manual,run
const { run } = useRequest((values) => {
return {
url: '/api/admin/tanks/update',
method: 'POST',
headers: {
Authorization: `${sessionStorage.getItem('token')}`,
},
data: {
totalWarningCount: values.totalWarningCount,
id: values.chargingDeviceId
}
}
}, {
manual: true
});
//表单提交后的方法
onOk={() => {
form
.validateFields()
.then(values => {
run(values)
})
}}