react基礎概念&react項目依賴

創(chuàng)建組件
引入文件 提供 react reactdom對象 幫助瀏覽器解析jsx
組件名一定要大寫

let Component = React.createClass({
render(){
return ( jsx )
}
})
ReactDOM.render(組件名,要掛載的元素)

數(shù)據(jù)承載
state 組件內部的數(shù)據(jù) 可以盡心修改 getInitailState 生命周期初始化
props 來自于組件外部的數(shù)據(jù) 組件內部不能修改
用過getDefaultProps 進行初始化
外部傳遞和組件內部初始化同時存在以外部傳遞優(yōu)先

數(shù)據(jù)綁定
{} 存放變量表達式

  1. 基本數(shù)據(jù)類型 數(shù)字 字符串 基本用戶
  2. 對象 不能直接綁定
  3. 數(shù)組 數(shù)組的每一項都會被拆分出來
  4. 布爾值 null undefined 在頁面不會直接顯示 配置3元表達式或者其他的表達式

指令
react中不存在這種東西 我們自己去實現(xiàn)相同的效果

列表渲染
數(shù)組在綁定的時候會被拆解開來 通常結合map實現(xiàn)對數(shù)據(jù)的處理
條件渲染
a. 三元表達式控制渲染
b. || 或運算符控制渲染
c. 函數(shù)的返回控制渲染
屬性綁定
希望屬性的值是變量
《img src={變量或者表達式} 》
注意類名要用className
事件綁定 v-on:click
react事件和原生事件類似只需要把事件名寫成小駝峰就ok
原生

react

onClick={(e)=>{
事件處理代碼
}}

  1. 不帶參數(shù) 默認參數(shù)是事件對象 千萬別加()
    onClick={this.fun}
  2. 帶參數(shù) 通過bind實現(xiàn) 默認參數(shù)會放到最后方
    onClick={this.fun.bind(null,4,6)}
    數(shù)據(jù)變頁面變不變
    react 中不像vue有數(shù)據(jù)響應式 要通過setState觸發(fā)頁面的修改
    this.setState({要修改的數(shù)據(jù):修改的內容},cb)
    setState 是一個異步方法參數(shù)一時要修改的數(shù)據(jù)
    參數(shù)2是修改成功之后的回調

組件嵌套
react不想vue 全局和局部組件之分
組件的嵌套關系隨意 雖在外部誰是爸爸

插槽
和vue中組件標簽匯總存放的內容默認不會被渲染 react中沒有slot
組件對象下 props.children可以用來獲取組件標簽中的內容

ref
可以綁定dom 也可以綁定組件
通過組件對象下的 refs進行獲取

react組件通信
父子通信 props refs
子父通信 props
親兄弟通信 狀態(tài)提升
遠親通信 全局狀態(tài)管理 redux

組件的創(chuàng)建
createClass 方法
通過class關鍵字或者函數(shù)來創(chuàng)建組件

類組件函數(shù)組件
類組件 (功能組件,智能組件)
class關鍵字 創(chuàng)建的組件
有state值 能修改state值
能寫jsx
有生命周期
函數(shù)組件 (ui組件,木偶組件,傻瓜組件)
用函數(shù)創(chuàng)建的組件
沒有state 就不能修改數(shù)據(jù)
沒有生命周期
只能接收props 渲染界面
高階組件

受控組件 非受控組件
不是一種新的組件而是獲取表單數(shù)據(jù)中的方式
受控組件
非受控組件 通過ref 來獲取表單數(shù)據(jù)

react developer tool
谷歌瀏覽器插件 使用方式類似vue開發(fā)者工具

Fragment
可以作為跟組件使用并且不會被渲染

生命周期
創(chuàng)建和初始化
getDefaultProps 初始化porps
getInitialState 初始化state
15.6 的生命周期 在16版本取消 用構造函數(shù)代替
掛載
componentWillMount 掛載之前
componentDidMount 掛載結束
更新
componentWillReceiveProps props發(fā)生改變的時候觸發(fā)
shouldComponentUpdate 數(shù)據(jù)的改變是否應該引起頁面更新
componentWillUpdate 組件將要更新
componentDidUpdate 組件更新完畢
卸載銷毀
componentWillUnmount

react 腳手架工具
npm install create-react-app -g
create-react-app -V 查看版本號
create-react-app 項目名字 創(chuàng)建項目

注意:部分插件的版本依賴問題 需要打開package.json 里的scripts 下的eject
npm run eject
打開大禮包之前執(zhí)行一次本地git倉庫的提交
git status 查看當前狀態(tài)
git add .
git commit -m “hehe”
npm run eject 在項目目錄下執(zhí)行

npm start 跳轉的實例界面

基本命令
npm start 本地開發(fā)環(huán)境運行
npm run eject 解開插件包
npm run build 編譯打包

基本結構目錄
build 打包之后的文件目錄
config 項目的配置目錄
public 靜態(tài)資源目錄
script js啟動腳本
src 項目的源碼目錄
package 項目的配置依賴
.gitignore git 上傳的忽略文件

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • [toc] REACT react :1.用來構建用戶界面的 JAVASCRIPT 庫2.react 專注于視圖層...
    撥開云霧0521閱讀 1,580評論 0 1
  • React簡介 (1)簡介 React 起源于 Facebook 的內部項目,因為該公司對市場上所有 JavaSc...
    魚魚吃貓貓閱讀 1,751評論 1 6
  • 40、React 什么是React?React 是一個用于構建用戶界面的框架(采用的是MVC模式):集中處理VIE...
    萌妹撒閱讀 1,187評論 0 1
  • 作為一個合格的開發(fā)者,不要只滿足于編寫了可以運行的代碼。而要了解代碼背后的工作原理;不要只滿足于自己的程序...
    六個周閱讀 8,675評論 1 33
  • React React 是一個用于構建用戶頁面的JavaScript庫,專注于視圖,實現(xiàn)組件化開發(fā)。 組件化概念 ...
    一二三四五_6ce3閱讀 185評論 0 0

友情鏈接更多精彩內容