原创 react 源碼中 對 key 的使用

無論是在 vue 還是 react 中,使用 key 都是一個 必須面對的問題,最近就對 react 的key 做了一點學習,這裏就當做個人的學習筆記了 我們就來看這裏的 (已刪除 多餘的代碼,只留下了 數組類型的 子節點 ) //

原创 記錄一次 webpack 打包優化之路

最近發現了 自己在 webpack 方面知識的薄弱,正好 手裏 有個 打包 兩分多 的 項目,就用這個項目練練手 由於 該項目的 webpack 版本 是基於 3.6.0 的 1、多進程 打包 壓縮 const HappyPack =

原创 關於http 的一點個人見解

鑑於 http1.0 已經基本被淘汰了,我也沒有過多地關注1.0 的內容,而是從 http1.1 學起,這裏只是一個知識點的梳理 1、http1.1 在以前的文章中提到,瀏覽器 是有專門的 網絡進程的 在 http1.1 中,同一時間對於

原创 重新瞭解 javascript

最近學了很多東西,發現 js 的很多內容只是憑藉着我的 主觀意識,或者說 感覺。所以這需要系統地學習 以及整理一下 1、變量提升 首先要明確的一點是,在 es6 出現以前,js 只有五種作用域 , 全局作用域 函數作用域 try/catc

原创 瀏覽器頁面是怎麼渲染的

正如前面寫的 瀏覽器中輸入URL後會發生什麼事情--超級詳細版 中介紹的一樣,一個 頁面的渲染過程 也涉及到了 很多的東西,以及進程之間的通信 1、網絡 網絡進程接收到了 一個 html 文件 之後,除了會判斷 content-type

原创 實現乞丐版的 vue data + method + computed

最近有了點空,就想着 把 vue 給搞定了, 看了一遍之後,決定自己寫一個乞丐版的 vue,上班的時候划水一個早上也算是 結束了 index.html <div id="app"> {{age}} <p>{{name

原创 Vue 使用 函數調用組件 的方法

之前寫過一篇 react 方法組件構造 Loading 的使用, 現在這篇就是 Vue 版本的 方法調用組件了 組件還是 vue 組件,這個和之前是一樣的 Toast/Toast.vue <template> <div class=

原创 vue 初試 typescript

vue 裏使用 ts 需要另外裝兩個包 "dependencies": { "vue-class-component": "^7.2.2", // 這個是 寫 vue 的官方庫 "vue-property-d

原创 react-redux 到底幹了什麼

function createState(reducer) { let state = null; const listeners = []; const subscribe = (listener) => listener

原创 flutter provide 學習筆記

作爲一名前端,關於 flutter 的 狀態管理器 Provide 的使用方法其實不是很能理解,因爲這裏出現了泛型 所以決定去看看 Provide,瞭解使用 Provide 中的泛型到底是怎麼被使用的,同時加深對於 Dart 的理解 首先

原创 react 方法組件構造 Loading 的使用

這裏的方法組件並不是 指的 函數組件,而是可以像方法一樣使用的組件 就好像是 ant-design 裏的 message.success() 一樣使用。 上代碼 loading.css .loading-container{

原创 iview Select 組件 選擇了之後就看不到東西

如圖: 結果我把 容器放大,發現了 這個 然後又把東西給打印出來,發現 沒錯,這裏還多出了 好多空格 看代碼: <Option v-for="item in channelList" :value="item.id" :ke

原创 react + mobx 實現基本的 todolist

之前使用 react 都是直接用了 redux ,對於 mobx 也只能說是 久仰久仰,現在有機會了就來試一試 mobx 是使用了 proxy 來進行數據 雙向綁定的一個庫,如果使用過vue 的話,對於裏面的部分功能就不會陌生了 yar

原创 Vue 函數自定義指令進行 文本高亮

之前對文本進行高亮總是需要一些很多操作,但是使用了指令之後,就會發現變得很簡單 // 註冊指令 Vue.directive('highlight', { // 這裏的 el 就是被註冊指令的 node 節點, binding 就是

原创 分別使用 Object.defineProperty 和 proxy 實現簡單的數據雙向綁定

Object.defineProperty <input id="input"> <span id="span"></span> const data = { text: 'default' } var input = docum