react项目网页端适配(利用自定义hooks)

思路就是利用window的resize事件,监听窗口变化,再利用hooks函数,在生命周期创建前监听,在生命周期结束时取消监听。具体看代码

在这里插入图片描述
这个useLifecycles是react-use的一个模仿组件的componentDidMount,和componentWillUnmount。也可以利用useEffect(()=>{},[])代替,接着就是监听window的resize事件,然后触发serRemFunc函数。
再看看setRemFunc的实现。

思路是,封装一个类,传入设计稿大小,要转换的比例,如图

在这里插入图片描述
然后class上面定义一个方法,setRem,拿到最新的窗口大小,并计算将值赋予到html,style.fontSize上。这样就实现一个适配效果。
用的时候只需要实例出一个对象即可。在这里插入图片描述
第一次进去需要调用一次setRemFunc,初始化一下fontSize。

接着用的时候就直接在这里插入图片描述
引入并调用即可。
看看效果
在这里插入图片描述
可以看到,当我们窗口大小变化时就可以自适应了。

猜你喜欢

转载自blog.csdn.net/lin_fightin/article/details/114834176