成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

React學(xué)習(xí)筆記—類名操作

Cheriselalala / 1344人閱讀

摘要:拋磚引玉先實(shí)現(xiàn)一個(gè)點(diǎn)擊按鈕切換背景的功能先。默認(rèn)背景色是紅色,點(diǎn)擊按鈕在紅綠色之間切換。為了解決這種類似組件初始化或者動(dòng)態(tài)切換的效果,提供了工具。要想使用,得先引入,可以去官網(wǎng)下載到。

拋磚引玉

先實(shí)現(xiàn)一個(gè)點(diǎn)擊按鈕切換背景的功能先。
默認(rèn)背景色是紅色,點(diǎn)擊按鈕在紅綠色之間切換。

index.html



    
    React
    







style.css
.content {
    width: 100px;
    height: 100px;
}

.bg-red {
    background-color: red;
}

.bg-green {
    background-color: green;
}
app.js
var DemoComponent = React.createClass({
    getInitialState: function () {
        return {isBgRed: true};
    },
    handleClick: function () {
        this.setState({isBgRed: !this.state.isBgRed});
    },
    render: function () {
        var classString = "content";

        if (this.state.isBgRed) {
            classString = classString + " bg-red";
        } else {
            classString = classString + " bg-green";
        }


        return (
            

) } }); React.render( , document.body );
效果


最后的頁(yè)面效果就上面這樣的,點(diǎn)擊按鈕實(shí)現(xiàn)了背景色的切換?;仡^來(lái)看看render方法里的這一坨內(nèi)容

var classString = "content";

if (this.state.isBgRed) {
    classString = classString + " bg-red";
} else {
    classString = classString + " bg-green";
}

這里根據(jù)狀態(tài)切換不同的class,這種代碼看起來(lái)太冗長(zhǎng),稍微改進(jìn)下

var classString = "content" + (this.state.isBgRed ? " bg-red" : " bg-green");

代碼看起來(lái)要舒服些,但是還有一個(gè)問題,語(yǔ)義太差,閱讀維護(hù)起來(lái)確實(shí)不大容易。為了解決這種類似組件className初始化或者動(dòng)態(tài)切換的效果,React提供了工具ClassSet。

ClassSet

要想使用ClassSet,得先引入react-with-addons.js,可以去官網(wǎng)下載到。直接看代碼

index.html



    
    React
    








app.js
var cx = React.addons.classSet;

var DemoComponent = React.createClass({
    getInitialState: function () {
        return {isBgRed: true};
    },
    handleClick: function () {
        this.setState({isBgRed: !this.state.isBgRed});
    },
    render: function () {

        var classes = cx({
            "content": true,
            "bg-red": this.state.isBgRed,
            "bg-green": !this.state.isBgRed
        });

        return (
            

sdf

) } }); React.render( , document.body );

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/85638.html

相關(guān)文章

  • [譯] 前端攻略-從路人甲到英雄無(wú)敵二:JavaScript 與不斷演化的框架

    摘要:一般來(lái)說(shuō),聲明式編程關(guān)注于發(fā)生了啥,而命令式則同時(shí)關(guān)注與咋發(fā)生的。聲明式編程可以較好地解決這個(gè)問題,剛才提到的比較麻煩的元素選擇這個(gè)動(dòng)作可以交托給框架或者庫(kù)區(qū)處理,這樣就能讓開發(fā)者專注于發(fā)生了啥,這里推薦一波與。 本文翻譯自FreeCodeCamp的from-zero-to-front-end-hero-part。 繼續(xù)譯者的廢話,這篇文章是前端攻略-從路人甲到英雄無(wú)敵的下半部分,在...

    roadtogeek 評(píng)論0 收藏0
  • 指尖前端重構(gòu)(React)技術(shù)調(diào)研分析

    摘要:一為什么選擇是當(dāng)前前端應(yīng)用最廣泛的框架。目前來(lái)看的生態(tài)系統(tǒng)要比大的多,在等最大的技術(shù)社區(qū)搜索兩者,的搜索結(jié)果是的十倍左右,另外據(jù)近期統(tǒng)計(jì)使用的站點(diǎn)是的幾百倍以上。其中是基于技術(shù),依然是瀏覽器應(yīng)用。 一、為什么選擇React React是當(dāng)前前端應(yīng)用最廣泛的框架。三大SPA框架 Angular、React、Vue比較。 Angular出現(xiàn)最早,但其在原理上并沒有React創(chuàng)新的性能優(yōu)化...

    AlphaWallet 評(píng)論0 收藏0
  • Java學(xué)習(xí)筆記(一)

    摘要:是完全面向?qū)ο蟮恼Z(yǔ)言,對(duì)象具有狀態(tài)行為和標(biāo)識(shí)。類一一是具有共同特征和行為的一類事物的統(tǒng)稱。受保護(hù)的,對(duì)同一包內(nèi)的類和所有子類可見。一種通用的內(nèi)存池,用于存放所有對(duì)象。類級(jí)變量又稱全局級(jí)變量或靜態(tài)變量,需要使用關(guān)鍵字修飾。 java語(yǔ)言的基本特點(diǎn) java語(yǔ)言是面向?qū)ο蟮母呒?jí)程序設(shè)計(jì)語(yǔ)言,它是編譯型的語(yǔ)言,Java語(yǔ)言不使用指針,并提供了自動(dòng)的垃圾回收機(jī)制,使得程序員不必為內(nèi)存管理而擔(dān)...

    chengtao1633 評(píng)論0 收藏0
  • jQuery入門學(xué)習(xí)筆記1

    摘要:首先明確是一個(gè)庫(kù),它的類型是函數(shù),這一點(diǎn)可以通過(guò)查看。判斷傳入的參數(shù)是還是返回具體的方法函數(shù)可將所有的添加一個(gè)可將所有的變?yōu)槿致暶?,它是一個(gè)函數(shù),返回一個(gè)對(duì)象,對(duì)象內(nèi)有不同的方法,本文例子有個(gè)方法增加類名,修改節(jié)點(diǎn)內(nèi)容。 首先明確jQuery是一個(gè)JavaScript庫(kù),它的類型是函數(shù),這一點(diǎn)可以通過(guò)typeOf查看。需要注意的是,script引入方式是本地文件引入,如果是CDN引入...

    lakeside 評(píng)論0 收藏0
  • jQuery入門學(xué)習(xí)筆記1

    摘要:首先明確是一個(gè)庫(kù),它的類型是函數(shù),這一點(diǎn)可以通過(guò)查看。判斷傳入的參數(shù)是還是返回具體的方法函數(shù)可將所有的添加一個(gè)可將所有的變?yōu)槿致暶鳎且粋€(gè)函數(shù),返回一個(gè)對(duì)象,對(duì)象內(nèi)有不同的方法,本文例子有個(gè)方法增加類名,修改節(jié)點(diǎn)內(nèi)容。 首先明確jQuery是一個(gè)JavaScript庫(kù),它的類型是函數(shù),這一點(diǎn)可以通過(guò)typeOf查看。需要注意的是,script引入方式是本地文件引入,如果是CDN引入...

    davidac 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<