挂载阶段
组件挂载时可执行副作用,如数据请求、事件监听等。OpenInula 提供 didMount 钩子。
基本用法
function PageTitle() {
let title = '';
didMount(() => {
title = document.title;
});
return <p>页面标题:{title}</p>;
}
数据请求
function FetchData() {
let data = null;
didMount(() => {
fetch('/api/data')
.then(res => res.json())
.then(d => { data = d; });
});
return <pre>{JSON.stringify(data)}</pre>;
}
最佳实践
- 只在 didMount 中执行副作用
- 清理副作用请用 willUnmount/didUnmount
注意事项
- didMount 只在组件首次挂载时执行一次