构建自己的Hook可以将组件逻辑提取到可重用的函数中。
function useSize() { const [size, setSize] = useState({ width: document.documentElement.clientWidth, height: document.documentElement.clientHeight }) const resizeHandle = () => { setSize({ width: document.documentElement.clientWidth, height: document.documentElement.clientHeight }) } useEffect(() => { window.addEventListener('resize', resizeHandle, false); return () => { window.removeEventListener('resize', resizeHandle, false); } }, []) return size; }
上面useSize就是一个自定义的hooks函数,而在自定义的hooks一样是可以使用React内置的hooks函数的。
const size = useSize();
自定义hooks也是可以返回一段JSX的:
function useSizeMonitor(){ const size = useSize(); return ( <div>{size.width}x{size.height}</div> );}
发表评论
侧栏公告
寄语
譬如朝露博客是一个分享前端知识的网站,联系方式11523518。
热评文章
标签列表
热门文章
友情链接