每次 Svelte 组件中的道具发生变化时,如何发出获取请求?
How to make a fetch request everytime a prop changes in a component in Svelte?
简单组件的脚本部分,此组件从其父级接收 id
,触发基于该 ID 的获取请求。这里的问题是组件只安装一次,因此,无论何时传递新的 prop,都不会发生变化。处理这种情况的最佳方法是什么?
import request from "@src/modules/request"; //not important, performs a GET request
export let channelId;
let streams = [];
onMount(async()=>{
const response = await request({
url: `/streams?channel_id=${channelId}`,
});
streams = response.streams;
})
我尝试了什么:使用 beforeUpdate
但是这导致了多次不必要的调用。
您可以尝试响应式声明,例如:
$: {
const response = await request({
url: `/streams?channel_id=${channelId}`,
});
streams = response.streams;
}
简单组件的脚本部分,此组件从其父级接收 id
,触发基于该 ID 的获取请求。这里的问题是组件只安装一次,因此,无论何时传递新的 prop,都不会发生变化。处理这种情况的最佳方法是什么?
import request from "@src/modules/request"; //not important, performs a GET request
export let channelId;
let streams = [];
onMount(async()=>{
const response = await request({
url: `/streams?channel_id=${channelId}`,
});
streams = response.streams;
})
我尝试了什么:使用 beforeUpdate
但是这导致了多次不必要的调用。
您可以尝试响应式声明,例如:
$: {
const response = await request({
url: `/streams?channel_id=${channelId}`,
});
streams = response.streams;
}