Vue · Senior · Pytanie 7 z 75
Co idzie nie tak, gdy hook cyklu życia jest rejestrowany po await w zwykłej funkcji setup()?
export default {
async setup() {
const data = await load();
onMounted(() => init(data)); // problem
},
};- ✓Poprawna odpowiedź: Po
awaitbieżąca instancja jest tracona, więc hook nie zostaje zarejestrowany (Vue ostrzega);<script setup>przywraca ją automatycznie - 2Nic; hooki można rejestrować w dowolnym momencie
- 3Komponent jest montowany dwa razy
Wyjaśnienie
Hooki, watch i inject zależą od aktywnej instancji, która jest ustawiona tylko podczas synchronicznego setup. Rejestruj je przed pierwszym await albo użyj <script setup>, którego kompilator zachowuje kontekst.