亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

React學習筆記—類名操作

Cheriselalala / 1382人閱讀

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

拋磚引玉

先實現(xià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 );
效果


最后的頁面效果就上面這樣的,點擊按鈕實現(xiàn)了背景色的切換。回頭來看看render方法里的這一坨內(nèi)容

var classString = "content";

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

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

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

代碼看起來要舒服些,但是還有一個問題,語義太差,閱讀維護起來確實不大容易。為了解決這種類似組件className初始化或者動態(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)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/85638.html

相關(guān)文章

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

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

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

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

    AlphaWallet 評論0 收藏0
  • Java學習筆記(一)

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

    chengtao1633 評論0 收藏0
  • jQuery入門學習筆記1

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

    lakeside 評論0 收藏0
  • jQuery入門學習筆記1

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

    davidac 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<