-
react中如果需要操作state中的數(shù)據(jù),不要直接修改,應(yīng)該先復(fù)制一個(gè)副本,操作副本中的數(shù)據(jù),之后再賦值給state。
原因:1.在使用一些工具調(diào)試時(shí)會(huì)比較方便;2.后期使用一些比較復(fù)雜的框架時(shí),直接操作的錯(cuò)誤寫(xiě)法會(huì)導(dǎo)致代碼性能低下。
查看全部 -
1.this指向;2.ES6的class類(lèi)方法;3.react中改變數(shù)據(jù)時(shí)使用setState方法;4.數(shù)組的解構(gòu)賦值
button監(jiān)聽(tīng)click時(shí)的方法,this指向?yàn)楫?dāng)前button,需要在方法調(diào)用后將其this使用bind綁定到當(dāng)前方法。
改變state數(shù)據(jù)不可以用傳統(tǒng)方法直接賦值或push,需要用setState方法改變其值。
查看全部 -
react中,大寫(xiě)字母開(kāi)頭的都是組件,如import App from '***'
定義一個(gè)React組件:class componentName extends React.Component {}
組件中必須要有一個(gè)render()函數(shù)來(lái)掛載組件顯示的dom
查看全部 -
什么是組件: 可復(fù)用的代碼模塊,其實(shí)也就是可復(fù)用的代碼片段。
組件允許我們將應(yīng)用的UI拆分成獨(dú)立的、可復(fù)用的模塊,其實(shí)也就是可復(fù)用的代碼片段。React應(yīng)用程序就是由組件來(lái)構(gòu)建的,也就是說(shuō)React應(yīng)用的基石!
只要是頁(yè)面上的一部分我們都可以把它理解成一個(gè)組件
組件就是網(wǎng)頁(yè)上的有部分
在react中以大寫(xiě)字母開(kāi)頭的都是組件
ReactDOM就是為了便于我們把組件掛載(渲染)到dom元素上
組件就是類(lèi)
自定義的一個(gè)組件必須要繼承react的組件 即React.Component 才能變成react的一個(gè)組件
render負(fù)責(zé)的就是當(dāng)前組件要顯示的內(nèi)容
組件定義完成之后要導(dǎo)出出去,便于其他組件導(dǎo)入引用
export 和 import 是配對(duì)使用
查看全部 -
筆記筆記筆記
查看全部 -
好查看全部
-
挺好查看全部
-
使用樣式有兩種方法:
使用style行內(nèi)樣式
JSX語(yǔ)法中,如果要加個(gè)行內(nèi)樣式,必須要用{{}}包裹,最外層這個(gè)花括號(hào)表示他裡面是個(gè) JSX表達(dá)式,而裡面的花括號(hào)表示這個(gè)表達(dá)式實(shí)際上是個(gè)JSX的對(duì)象。
要用對(duì)象的形式進(jìn)行編碼:<botton style={{ background: "green" , color: "#fff" }}>Add</button>使用class樣式類(lèi)
要用className這個(gè)關(guān)鍵詞,不能用class。
因?yàn)樵赗eact中Class是關(guān)鍵詞,表示定義一個(gè)React的組件
組件最外層的div可以使用 React.Fragment元素代替,在渲染時(shí)不會(huì)顯示最外層標(biāo)籤。
使用結(jié)構(gòu)賦值,在應(yīng)用React的時(shí)候,一並引用Component, Fragment
查看全部 -
父子組件概念:父組件通過(guò)屬性的形式向子組件傳遞參數(shù),子組件通過(guò)props的形式接受父組件傳過(guò)來(lái)的參數(shù)
查看全部 -
儘量不要直接去改變state裡面的數(shù)據(jù),而是生成一個(gè)副本去修改,然後重新對(duì)state賦值。
在ES6中,如果key、value同名,可以省略成this.setState({list});
查看全部 -
當(dāng)在input框輸入內(nèi)容的時(shí)候,onChange事件會(huì)被執(zhí)行。改變state裡面inputValue的值,inputValue只要一變,對(duì)應(yīng)dom節(jié)點(diǎn)上的input的value值也會(huì)跟著變
當(dāng)點(diǎn)擊button的時(shí)候,改變了state的list值同時(shí)改變inputValue的值,而inputValue只要一變,對(duì)應(yīng)dom節(jié)點(diǎn)上的input的value值也一定會(huì)跟著變
查看全部 -
render函數(shù)return出去的內(nèi)容只能是一個(gè)大的JSX
constructor是組件被創(chuàng)出的一瞬間會(huì)俾自動(dòng)執(zhí)行
當(dāng)TodoList組件剛被創(chuàng)建的時(shí)候,constructor會(huì)被自動(dòng)執(zhí)行,super(props)做一些初始化,創(chuàng)建一個(gè)state的數(shù)組對(duì)象
React裡面的state數(shù)據(jù)只能使用this.setState去改變
當(dāng)數(shù)據(jù)發(fā)生變化的時(shí)候,React會(huì)重新自動(dòng)去執(zhí)行render函數(shù),重新去渲染頁(yè)面,所以數(shù)據(jù)一變化,頁(yè)面就跟住變化。之前的編程是自己去操作dom,而在React裡面不在是操作dom,而是面向數(shù)據(jù)編程。
React要求我們,每一項(xiàng)的內(nèi)容返回的時(shí)候,標(biāo)籤上必須要有key值,key值是唯一的,不能重複
查看全部 -
JSX語(yǔ)法,允許我們?cè)赗eact中直接去使用標(biāo)籤結(jié)構(gòu)的代碼結(jié)構(gòu),JSX裡面只能寫(xiě)JS的表達(dá)式(用{}),不能寫(xiě)JS語(yǔ)句。
查看全部 -
React是一個(gè)基於組件開(kāi)發(fā)的框架。
組件指的是網(wǎng)頁(yè)上的一部分,只要是頁(yè)面上的一部分,都可以理解為組件。如網(wǎng)頁(yè)整體上是一個(gè)大的組件,Logo可以拆分成一個(gè)小組件,搜索區(qū)也是一個(gè)組件(裡面還可以拆分成一個(gè)輸入框組件和一個(gè)按鈕組件)。
App就是最外層的一個(gè)組件,在React中,以大寫(xiě)字母開(kāi)頭的都是組件
index.js是一個(gè)入口文件:
引入了react庫(kù),在於可以了解React的語(yǔ)法
引入了react-dom,在於讓組件可以?huà)燧d到頁(yè)面上一個(gè)document節(jié)點(diǎn)上,把一個(gè)組件渲染到dom上。
引入了App.js,App.js裡面的代碼一定是在定義一個(gè)React組件。它是一個(gè)類(lèi),必須要繼承在React庫(kù)裡面引入的一個(gè)Component的類(lèi)。React一個(gè)組件裡面,必須有一個(gè)render函數(shù),負(fù)責(zé)這個(gè)組件要顯示的內(nèi)容。export default app將其導(dǎo)出。
查看全部 -
React原理:
之所以頁(yè)面上能展示這個(gè)頁(yè)面,是因?yàn)轫?xiàng)目裡面一定會(huì)有頁(yè)面相關(guān)的代碼,代碼放在src目錄下。
React執(zhí)行的入口文件是src/index.js,是整個(gè)程序的入口
引入了:react, react-dom, App.js,?registerServiceWorker,?App.test.js
registerServiceWorker是一個(gè)pwa,也就是離線(xiàn)頁(yè)面的一個(gè)內(nèi)容
.css是樣式文件
App.test.js是做自動(dòng)化測(cè)試的時(shí)候會(huì)用到的一個(gè)文件
App.js裡面顯示了網(wǎng)頁(yè)div裡面的代碼
查看全部
舉報(bào)