Expand description
通用 DOM 事件监听 Hook(add/remove_event_listener 生命周期封装)。 通用 DOM 事件监听 hook:封装 add/remove_event_listener 生命周期。
用 use_hook 持有 (Closure, target),use_effect 注册,use_drop 清理,
把 theme/footer 两处手写的样板收口到一处。非 wasm32 目标下整体编译为空操作
(SSR 无 DOM),调用方无需再写占位变量或 #[cfg]。
设计要点:
target通过一个初始化闭包acquire提供,在use_effect首次运行时调用 (此时 DOM 一定可用);这样调用方无需自己再包一层use_effect。event要求&'static str,add 与 remove 复用同一字符串字面量。- handler 是
FnMut()(无参);若调用方需要 target 信息(如media.matches()), 应在acquire里 clone 一份后 move 进 handler。
Functions§
- use_
event_ listener - 非 wasm 占位:SSR 无 DOM,编译为空操作。