本篇文章主要介紹的壹個 React小白 ,從 0 使用 umi 搭建 React 項目的過程,記錄了相關 umi 的使用以及 react 的相關知識點~
?持續更新中...?
解決:采用links引入,favicon適合引入對應鏈接的圖標
Hook概覽 ,建議仔細閱讀文檔
例子:
這是我簡單寫的壹個切換用戶名的Model案例
需要留意的地方我已經用 紅色 標記出來了,尤其是 { } ,如果沒有的話,默認會接受壹個 props ,在路由頁面傳參中有提到
約定式路由 ,如果按照官方推薦的目錄結構,是可以不用配置路由表的,它會自動生成
這裏有兩種寫法,壹種是放在 route 路由表裏,另壹種是直接在指定頁面寫,看個人需求。
寫法1: wrappers
寫法2: 權限路由 ?
? React 中組件間通信的幾種方式
子用父: 將數據綁定到子組件上,子組件通過props接收;
父用子: 通過 useRef() 定義,並在子組件上綁定ref, .current 獲取DOM;
子改父: 通過在子組件上綁定壹個關聯父組件的方法數據
父改子: 通過 useRef() 定義,並在子組件上綁定ref, .current 調用子組件定義修改值的方法;
報錯信息:
**Warning:**devScripts.js:6523 Warning: Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()?
如果妳在封裝的組件上使用ref,那妳就會發現這個錯誤,這就屬於函數式調用,需要 useRef forwardRef 的使用,同時還能配合 useImperativeHandlede 來暴露子組件的數值或者方法給父組件使用。
? React函數式組件值之useRef()和useImperativeHandle()
? React Hooks系列之useImperativeHandle
? React中的HTML轉義寫法
umi-request配置說明
本地端口號修改
如何獲取後端的相應數據 data
src/utils/request.js
使用
官方文檔解釋
解決方法
使用 State Hook
下面的預期在某些時候並不是妳想要的
例如:在移動端滑動加載更多 list,根據搜索條件去更新 list,每次條件的變化就需要重新讓 list = [],然後再去獲取新的 list,此時就會遇到這種 list 不能及時更新清空的問題
解決:
outputPath 配置
outputPath:dist/shunfeng ,打包後會生成 dist 文件下 shunfeng 文件下的其他文件
umi中使用sass只需安裝 @umijs/plugin-sass
安裝完後無需配置,umi會自己識別。默認使用dart sass , 如果需要使用node-sass,才需要想官網那樣 配置
區別 :傳入的第壹個參數不同
React.createElement()
它接受三個參數,第壹個參數可以是壹個標簽名。如 div、span,或者 React 組件。第二個參數為傳入的屬性。第三個以及之後的參數,皆作為組件的子組件。
React.cloneElement()
React.cloneElement() 與 React.createElement() 相似,不同的是它傳入的第壹個參數是壹個 React 元素,而不是標簽名或組件。新添加的屬性會並入原有的屬性,傳入到返回的新元素中,而舊的子元素將被替換。將保留原始元素的鍵和引用。
配置 dynamicimport