javascript / expert
Snippet
Normalisierung reaktiver Eingaben mit toValue
Eingeführt in Vue 3.3, ist toValue der Nachfolger von unref für das Design von Composable-APIs. Während unref nur Refs entpackt, führt toValue auch Getter aus. Dies ermöglicht es Composables, eine breitere Palette von Eingaben zu akzeptieren (statische Werte, Refs oder Funktionen, die Werte zurückgeben), während die interne Logik sicherstellt, dass immer mit den aktuellen zugrunde liegenden Daten gearbeitet wird.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
12
13
import { toValue, type MaybeRefOrGetter } from 'vue';function useFeature(source: MaybeRefOrGetter<string>) {// toValue unwraps refs, reactive objects, and executes gettersconst normalized = () => toValue(source);console.log('Current value:', normalized());}// Usage possibilities:useFeature('static');useFeature(ref('reactive'));useFeature(() => 'computed-like');
vue
Erklärung
1
MaybeRefOrGetter<string>
TypeScript-Utility-Typ, der einen Rohwert, eine Ref oder eine Funktion darstellt, die diesen Wert zurückgibt.
2
toValue(source)
Universelles Unwrap-Werkzeug, das den Wert einer Ref oder das Ergebnis einer Getter-Funktion zurückgibt.