摘要:初始數(shù)據(jù)落葉丶啦啦啦初始化賬號(hào)用戶名需要用一個(gè)標(biāo)簽來(lái)包裹落葉丶的小站和把組件看成是一個(gè)狀態(tài)機(jī)。通過(guò)與用戶的交互,實(shí)現(xiàn)不同狀態(tài),然后渲染,讓用戶界面和數(shù)據(jù)保持一致。函數(shù)中的點(diǎn)擊事件和普通的差不多,但是要注意中的要大寫,否則會(huì)報(bào)錯(cuò)。
學(xué)習(xí)React不是一蹴而就的事情,入門似乎也沒(méi)那么簡(jiǎn)單。但我覺(jué)得這一切都是值得的。
這是我在學(xué)習(xí)React中的一些心得,希望能夠幫助到大家!
React可以使用兩種樣式,一種是普通的css,一種是在React中定義的樣式。
普通的css樣式,通過(guò)className=""來(lái)引用
賬號(hào):
React中定義的樣式,通過(guò)style={}來(lái)引用
//React的css樣式
var style_1={
color:"#9900ff",
padding:3,
}
組件
構(gòu)建組件(名字隨意起,首字母要大寫),我這里構(gòu)建了一個(gè)叫Board的組件,然后通過(guò)getInitialState進(jìn)行初始化。通過(guò)ReactDOM.render加載到html頁(yè)面中。如果ReactDOM.render中有多個(gè)組件或者標(biāo)簽,則需要用一個(gè)div標(biāo)簽來(lái)包裹。
var Board = React.createClass({ //初始數(shù)據(jù) getInitialState: function(){ return ({ comments: [{account:"123456",name:"落葉丶Fly"},{account:"111111",name:"啦啦啦"}] }); }, //初始化 eachComment: function(text,i){ return (); }, ReactDOM.render( //需要用一個(gè)div標(biāo)簽來(lái)包裹
賬號(hào): {text.account}
用戶名: {text.name}, document.getElementById("container") ); props和state落葉丶Fly的React小站
state:React 把組件看成是一個(gè)狀態(tài)機(jī)(State Machines)。通過(guò)與用戶的交互,實(shí)現(xiàn)不同狀態(tài),然后渲染 UI,讓用戶界面和數(shù)據(jù)保持一致。React 里,只需更新組件的 state,然后根據(jù)新的 state 重新渲染用戶界面(不要操作 DOM)。
props:state 和 props 主要的區(qū)別在于 props 是不可變的,而 state 可以根據(jù)與用戶交互來(lái)改變。這就是為什么有些容器組件需要定義 state 來(lái)更新和修改數(shù)據(jù)。 而子組件只能通過(guò) props 來(lái)傳遞數(shù)據(jù)。
函數(shù)
React中的button點(diǎn)擊事件和普通的JavaScript差不多,但是要注意onClick中的C要大寫,否則會(huì)報(bào)錯(cuò)。本文通過(guò)按鈕點(diǎn)擊來(lái)更改editing的布爾值,用setState函數(shù)進(jìn)行更新,從而在普通模式與編輯模式中切換。
//編輯 edit: function(){ this.setState({editing: true}); }, //保存 save: function(){ var val = this.refs.new_account.value; var val1 = this.refs.new_name.value; console.log("拿到的值是: " + val+val1); this.props.updateCommentText(val,val1,this.props.index) this.setState({editing: false}); }, //普通模式 renderNormal:function(){ return (); }, //編輯模式 renderForm:function(){ let children = this.props.children return ({this.props.children}) }, //模式更改 render: function (){ //console.log(this.props) if(this.state.editing){ return this.renderForm(); }else{ return this.renderNormal(); } } 全部代碼React-Template
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/40237.html
摘要:百度搜索資源平臺(tái)有閃電算法的支持,為了能夠保障用戶體驗(yàn),給予優(yōu)秀站點(diǎn)更多面向用戶的機(jī)會(huì),閃電算法在年月初上線。下欄是每一個(gè)指標(biāo)的細(xì)化性能評(píng)估。最后優(yōu)化之路漫漫,永無(wú)止境,天下武功,唯快不破。 showImg(https://segmentfault.com/img/remote/1460000018537491); 首屏作為直面用戶的第一屏,其重要性不言而喻,如何加快加載的速度是非常重...
某熊的技術(shù)之路指北 ? 當(dāng)我們站在技術(shù)之路的原點(diǎn),未來(lái)可能充滿了迷茫,也存在著很多不同的可能;我們可能成為 Web/(大)前端/終端工程師、服務(wù)端架構(gòu)工程師、測(cè)試/運(yùn)維/安全工程師等質(zhì)量保障、可用性保障相關(guān)的工程師、大數(shù)據(jù)/云計(jì)算/虛擬化工程師、算法工程師、產(chǎn)品經(jīng)理等等某個(gè)或者某幾個(gè)角色。某熊的技術(shù)之路系列文章/書籍/視頻/代碼即是筆者蹣跚行進(jìn)于這條路上的點(diǎn)滴印記,包含了筆者作為程序員的技術(shù)視野、...
閱讀 1500·2021-11-17 09:33
閱讀 1267·2021-10-11 10:59
閱讀 2900·2021-09-30 09:48
閱讀 1909·2021-09-30 09:47
閱讀 3032·2019-08-30 15:55
閱讀 2343·2019-08-30 15:54
閱讀 1499·2019-08-29 15:25
閱讀 1653·2019-08-29 10:57