依赖刷新
假如你的接口需要动态监听某些值的变化而发出请求的,你可以这样处理
import { ref, watch, reactive } from 'vue';
import { useRequest } from 'vue-request';
const someRef = ref(0);
const someReactive = reactive({
count: 0,
});
const { data, refresh } = useRequest(getUser);
watch([someRef, () => someReactive.count], refresh);
// ...
但是我们也提供了 refreshDeps 。事实上,使用 refreshDeps 的效果和你直接写 watch 监听是没有任何区别的,因此可以理解为 refreshDeps 是上面示例的一个语法糖
提示
切换下面的 radio,会触发请求
refreshDepsAction
当然,我们也提供了 refreshDepsAction
给你自定义依赖刷新的行为,当 refreshDeps
里面的内容发生变化时,refreshDepsAction
就会被调用。
注意
manual=true
时,refreshDepsAction
也会被触发。这与 refreshDeps
的默认行为不一致。
import { ref, watch, reactive } from 'vue';
import { useRequest } from 'vue-request';
const someRef = ref(0);
const { data, run } = useRequest(getUser, {
refreshDeps: someRef,
refreshDepsAction: () => {
run(1);
},
});