React是Facebook內(nèi)部的一個(gè)資源類庫,主要是做前端UI的組件式開發(fā),它使用一種新的方式來處理瀏覽器的DOM,不需要手動(dòng)的更新DOM,也不需要自己管控哪部分DOM需要更新,或者不要更新。React有自己的一套算法來控制如何最小的改動(dòng)DOM來更新整個(gè)應(yīng)用程序。虛擬DOM還有一個(gè)好處就是可以解決瀏覽器的兼容問題,可以將虛擬DOM根據(jù)瀏覽器的不同而翻譯為相對(duì)應(yīng)的語言。
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),湖口網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:湖口等地區(qū)。湖口做網(wǎng)站價(jià)格咨詢:18982081108state是React用來控制更新應(yīng)用的狀態(tài),每次state的值發(fā)生變化,就會(huì)觸發(fā)render,render的返回值有變化,虛擬DOM就會(huì)更新,真實(shí)的DOM也會(huì)跟著變化,最終就是我們?cè)跒g覽器中看到的變化。需要注意的是React是單向數(shù)據(jù)流綁定。單向數(shù)據(jù)流比雙向數(shù)據(jù)流綁定要輕的多,所以其性能更高。其刷新時(shí)的代碼為:
this.setState({items: data});//items為剛開始定義的state變量,data為要賦給items的值
props是React在整個(gè)組件樹中傳遞數(shù)據(jù)用的,可以把props理解為只讀。
比如:
Send為子控件,要將父控件中的item傳入子控件,父控件中定義為:
子控件中接收:
let item = this.props.item;
這些都是一些最基礎(chǔ)的用法:
下面給出一個(gè)完整的例子:
import React from 'react'; import Uri from '../../uri/TestUri'; import axios from 'axios'; import ChildList from './ChildList'; export default React.createClass({ getInitialState: function() { //設(shè)置初始狀態(tài)item return { items : [] }; }, getJson: function () { let url = Uri.getTestUri; return axios.get(url); //axios是屬于nodejs前后端調(diào)用 }, componentDidMount: function () { //React中的生命周期,為頁面渲染完后執(zhí)行,還有其他的 this.getJson() //componentWillMount,componentWillReceiveProps等等 .then((result) => { this.setState({ items: result.data }); //設(shè)置state值,設(shè)置完成后瀏覽器重新更新 //console.log(result.data[1]); }) .catch((response) => { console.log(response); }); }, render: function(){ return (//給子組件ChildList 傳值 ); }, });
今晚被傻蛋打攪,浪費(fèi)很多時(shí)間,就不寫了...
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。