前端路由的实现前端路由分为两种实现方式:
HashHistory,通过修改location.hash,然后监听hashchange事件来进行对应操作。
BroswerHistory,通过HTML5提供的History对象的pushState、replaceStateAPI,然后监听popstate事件来进行对应操作。
二者的优劣:
第一种方法兼容性更好,但是实现比较复杂,并且url比较丑陋(例如:http://www.test.com/#/xxx)。
第二种方法是浏览器提供的能力,所以实现比较简单,url与正常相同(例如:http://www.test.com/xxx),但是可能存在兼容性问题。
其实还有第三种,MemoryHistory,用于non-DOM环境下,例如React Native。
阅读全文
如果可以,为什么我们不自己打造一款没人用的前端框架呢?
首先介绍如何创建虚拟DOM节点以及将虚拟DOM节点转化为真实DOM节点,参照React/Preact
阅读全文
最近学了React基础知识,所以有打算做一个项目来踩坑,恰好适逢大二寒假并且工作室恰好需要在开学后招新,所以天时地利人和,我就用React作为这个项目的技术栈。于是项目开发中的第一个问题就诞生了————React组件通信
阅读全文