Vue 3框架组合式API的生命周期挂钩

Le Sun 23 February 2025

姑娘不喜欢Vue,也不喜欢Vue 3框架组合式API中的生命周期挂钩。

姑娘喜欢回调函数。至少,回调函数很漂亮。姑娘喜欢漂亮之人、漂亮之物。

Vue 3中有如此之物:

function onMounted(callback: () => void): void
function onUpdated(callback: () => void): void
function onUnmounted(callback: () => void): void
function onBeforeMount(callback: () => void): void
function onBeforeUpdate(callback: () => void): void
function onBeforeUnmount(callback: () => void): void
function onErrorCaptured(callback: ErrorCapturedHook): void
function onRenderTracked(callback: DebuggerHook): void
function onRenderTriggered(callback: DebuggerHook): void
function onActivated(callback: () => void): void
function onDeactivated(callback: () => void): void
function onServerPrefetch(callback: () => Promise<any>): void

姑娘看完亦不知所云。姑娘喜欢听到黄鹂、画眉这样清脆、清晰的名字。 不喜欢什么挂上了、挂上之前、动了之类的毫无辨识性的所谓挂钩。

姑娘喜欢干练、利落的行为。不喜欢一大堆难以辨别之物。

姑娘喜欢这样的:

- (void) viewWillAppear:(BOOL) animated;
- (void) viewIsAppearing:(BOOL) animated;
- (void) viewDidAppear:(BOOL) animated;
- (void) viewWillDisappear:(BOOL) animated;
- (void) viewDidDisappear:(BOOL) animated;

“田田新叶翠,款款白鸥轻。”如泛舟碧波,美景缓缓映入眼帘,平和宁静。而观Vue 3所谓挂钩,则如星球破裂,不知谁先谁后,何处落脚停歇。

再观Vue 3挂钩的写法:

<script setup>
import { onMounted } from 'vue'

let hers_first_toy = '0x00'
let hers_second_toy = '0x01'
let hers_third_toy = '0x03'

let hers_toys = []

onMounted(() => {
    let max_keep = 1024
    while (max_keep <= hers_toys.length) {
         buy_a_new_toy()
    }
})

function buy_a_new_toy() {
    let toy_number = (hers_toys.length + 1)
    let toy = `her's ${toy_number} toy`
    hres_toys.push(toy)
}

script>

回调函数是程序调用姑娘自己的函数,而不是姑娘自己去调。 看Vue 3的这种写法,似乎是姑娘自己去调用。

要是调用它很多次会怎么样?不得而知。

姑娘喜欢写好完整的函数,让系统去调用。这样,只有一个回调函数。

- (void) viewWillAppear:(BOOL) animated
{
    [super viewWilLAppear: animated];
    [self buySomeMoreToy];
}

Par 纳兰风来, Catégorie : 25-003

Tags :