原创 vue + vant h5 模板處理

倉庫地址: vue-vant-mobile ,基礎配置一套, 拿來直接進行頁面開發,

原创 react官方 腳手架 中 配置服務器接口環境,不同的打包名

使用react官方腳手架,在開發中,難免要自己配置接口服務環境,打不同的包,作爲一名前端,這一切都想要自動化,手動改容易出錯,而且比較麻煩,接下來,記錄一下自己的配置之旅。。。 參考react-create-app 文檔 reac

原创 vue源碼之旅-1- new Vue( ) 做了什麼事?

源碼目錄:         源碼:src / core / instance / index.js  import { initMixin } from './init' import { stateMixin } from './st

原创 vue 簽名組件

臨時幫朋友寫個移動端的項目, 發現 它的項目中有個 pdf 文檔的 簽名功能, 也是折騰了一下簽名組件 簽名組件原理: 利用原生canvas 配合 移動端的事件, touchstart, touchend, touchmove, 進行

原创 學習一下 ts + hooks + react

用hooks: 基本不寫 類組件了 一個useEffect 的功能 太棒了, 比鉤子更清晰 ts: 寫的賊難受, 難受啊  ts-react-hooks-antd 倉庫地址 第一次擼ts啊, 個別地方還是any 一把梭的, 至於爲啥不用r

原创 Vue源碼之旅-3- nextTick()實現原理

參考文檔的 異步更新隊列, 從官方文檔的說明, 我們可以看出, Vue 的更新是組件級的,這麼做的目的就是爲了提升性能, 它內部怎麼做的也比較好理解, 其實就是利用了 微任務 和 宏任務 src/core/util/next-t

原创 手寫vuex及原理解析

參考: vuex代碼倉庫,  vuex官方文檔 關於vuex 的怎麼使用,就不說了,  這次主要是通過自己實現一個vuex,來理解vuex 的原理及內部實現 關於vuex 的工作流程, 就不再贅述了,官方的流程圖(在vuex是什麼?)

原创 Vue響應式原理實現

 Vue響應式特點 1.使用對象時, 必須先聲明, 這個屬性纔是響應式的 2. 給對象數據遞歸增加 getter和setter   3. 數組裏套對象, 對象時支持響應式變化的,常量則沒有效果 4. 修改數組的索引及長度, 是不會導致視

原创 vuepress 搭建 文檔 博客

文檔博客 怎麼玩的,直接參考 vuepress 文檔吧, 可以木事總結一些知識點,或者轉載,每日反覆翻看幾遍,如沐浴春風般溫暖,不扯其它了,簡單寫寫自己搭建的模板怎麼部署到 github 的靜態頁面, 由於git訪問比較慢,所以最後 會

原创 Vue源碼系列-4- Vue爲什麼採用異步渲染以及原理

爲什麼採用異步渲染? 因爲如果不採用異步更新,那麼每次更新數據都會對當前組件進行重新渲染, 這樣就會可能進行大量的dom重流或者重繪,所以爲了性能考慮,減少瀏覽器在Vue每次更新數據後會出現的Dom開銷,Vue 會在本輪數據更新

原创 Vue源碼系列-5- Vue.set() 使用場景以及實現原理?

官方api解釋了它的使用場景 向響應式對象中添加一個屬性,並確保這個新屬性同樣是響應式的,且觸發視圖更新。它必須用於向響應式對象上添加新屬性,因爲 Vue 無法探測普通的新增屬性 (比如 this.myObject.newPro

原创 vue源碼之旅-2 - 數據響應式原理的實現

在官方文檔的深入響應式原理這一節可以看到,Vue是通過Object.defineProperty 來定義數據的響應式的, 接着從源碼層面來喵一眼到底是怎麼做的? src/core/instance/state.js 我簡單注視了一

原创 在vscode 上搭建 React 源代碼調試環境(16.8v)

倉庫地址 克隆此倉庫 git clone https://gitee.com/frontend-qin/react-source-code.git 配置 vscode 安裝插件 Debugger for Chrome 後, 如

原创 react-router4 - 實現Link組件進行點擊跳轉

原生Link組件用法 <Router> <Link to='/'>Home</Link> <Link to='/about'>About</Link> <Link to='/mine'>Mine</Link>

原创 react-router5 - 實現 Switch 和 Redirect 組件

用法 <HashRouter> <Link to='/'>home</Link> <Link to='/about'>about</Link> <Link to='/mine'>mine</Link>