Svelte 3 中是否有一种机制可以在渲染之前比较组件内的 prop 更改?类似于 React getDerivedStateFromProps 。
<script>
export let color;
// Does anything like this exist in Svelte?
beforeUpdate((changes) => {
const same = changes.prev.color === changes.next.color
})
</script>
最佳答案
如果你想只在 color
变化时执行一段代码,可以使用响应式声明:
<script>
export let color;
$: {
console.log('color changed', color);
// will only get called when the `color` changed.
}
</script>
但是如果您想使用当前值和先前值执行该代码段,您可以执行以下操作:
<script>
export let color;
let prevColor;
$: {
console.log('currentColor:', color, 'prevColor:', prevColor);
prevColor = color;
}
</script>
关于svelte - 如何比较 Svelte 3 中的 Prop 变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58809240/