原创 react受控組件與非受控組件

非控組件:  Input、textarea等普通元素默認是非受控組件(輸入框內部的值是用戶控制和React無關) // 這種簡單的input就是非控組件 <input type="text"/>     受控組件:  受控組件就是可

原创 React + Sass

 Sass很多公司面試都喜歡問這個,今天就寫一篇簡單的sass安裝+使用過程技術棧很簡單,就React + Sass,本文着重討論sass不整太多東西 創建項目:create-react-app react-sass 安裝依賴:npm in

原创 react 路由按需加載

方法一: 從右到左,一級一級拋出       方法二: (1)router文件夾asyncComponent.jsx創建文件 (2)填寫內容 (3)router文件夾的index文件引入asyncComponent.jsx   asy

原创 react @types/react-router-dom報錯

編輯器沒有任何報錯  但啓動項目的時候卻報錯了 問題原因:  @types/react-router-dom  只是typescript的聲明文件而已 還是要安裝  react-router-dom  核心代碼   解決辦法就是

原创 create-react-app 創建react ts項目啓動報錯

執行創建react ts項目命令: create-react-app demo2 --template typescript 初始化完項目後,打開項目看到 tsconfig.json 報錯   問題來了,就算我把 "react-j

原创 TypeScript 引入第三方包卻報錯:"無法找到模塊"

下面我拿react-router-dom庫做例子     解決辦法有兩種: 方法一:安裝庫的TypeScript版本 方法二:添加特定庫的TypeScript類型聲明 在方法一可行的情況下,推薦使用方法一,但是不是所有庫都有 TypeSc

原创 TS與hook useState

TS文件裏hook的useState怎麼設置格式   貼個完整代碼例子:       還有其他解決辦法(但不建議使用因爲濫用any,僅供參考):解決方法2:const [students, setStudents] = useState<

原创 原生js《發佈訂閱》功能

原生js的“eventemitter 發佈訂閱”其實跟vue的“bus 中央事件總線”是同一種東西,而我只是用js實現一版出來而已   組件代碼: (function () { var msgService = function

原创 react EUI 《消息通知》組件封裝

如題基於EUI封裝個《消息通知》組件 需求,一次調用全項目能用如果按原來的EUI組件, 每個頁面想調用消息通知組件EuiGlobalToastList就得調用DOM跟方法, 比較麻煩現在需要封裝成一句話調用馬上能用比如: message.

原创 react 父級調用子級方法

忙裏偷閒,先記下來寫個大概,反正就是把代碼複製跑一遍就知道怎麼用了   父級代碼: import React, { useRef } from 'react'; import HelloWorld2 from '@/components

原创 element多層導航菜單

很久沒寫博客了原因就是懶, 剛下班今天寫了個基於element導航菜單實現多層菜單(可以無限多層) 組件核心思想就是組件遞歸(這個有時候面試會問到) 可以看看這篇我寫的簡單文章《vue組件遞歸》 然後就判斷children有沒有內容,沒內容

原创 vue組件遞歸

剛纔寫了篇《element多層導航菜單》文章,順便也寫寫其中核心原理 其實沒啥好說就是組件遞歸,這裏呢簡單寫個例子, 面試被問到的時候直接拿來手寫代碼也行, 有看到本文章的同學可以複製代碼去試試 沒多少代碼量,主要是讓還沒懂組件遞歸的同學好

原创 數組去重--hash方法

hash方法我以前百度找到的,經常用性能好速度快,本文章主要是一步步解釋hash方法的過程(其實沒多少步) 在這裏就能看出每個自定義下標都是獨一無二的,其實就相當於數組arr已經去重了  剩下我們就需要把自定義下標給抽取出來放在新數組

原创 WebSocket

WebSocket的來歷我就不說了本文直入主題:怎麼用WebSocket 根據readyState屬性可以判斷webSocket的連接狀態: 0:正在建立連接連接,還沒有完成 1:連接成功建立,可以進行通信 2:連接正在進行關閉握手,即將關

原创 插件:密碼輸入框

這是插件系列的第一個文章,平時工作中忙裏偷閒寫了些自己的組件,現在分享一下 我的組件簡潔無依賴(不需要再引用別的庫比如JQ)用原生JS寫 組件樣式簡單,沒打算寫多漂亮重點實現功能 ====== 分割線 ============ 模仿支付寶密