依赖刷新

假如你的接口需要动态监听某些值的变化而发出请求的,你可以这样处理

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);
  },
});
上次更新: 7/1/2022, 8:28:34 AM
贡献者: John