摘要:拋磚引玉先實現一個點擊按鈕切換背景的功能先。默認背景色是紅色,點擊按鈕在紅綠色之間切換。為了解決這種類似組件初始化或者動態切換的效果,提供了工具。要想使用,得先引入,可以去官網下載到。
拋磚引玉
先實現一個點擊按鈕切換背景的功能先。
默認背景色是紅色,點擊按鈕在紅綠色之間切換。
style.cssReact
.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 );
最后的頁面效果就上面這樣的,點擊按鈕實現了背景色的切換。回頭來看看render方法里的這一坨內容
var classString = "content"; if (this.state.isBgRed) { classString = classString + " bg-red"; } else { classString = classString + " bg-green"; }
這里根據狀態切換不同的class,這種代碼看起來太冗長,稍微改進下
var classString = "content" + (this.state.isBgRed ? " bg-red" : " bg-green");
代碼看起來要舒服些,但是還有一個問題,語義太差,閱讀維護起來確實不大容易。為了解決這種類似組件className初始化或者動態切換的效果,React提供了工具ClassSet。
ClassSet要想使用ClassSet,得先引入react-with-addons.js,可以去官網下載到。直接看代碼
index.htmlapp.jsReact
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 () } }); React.render(sdf
, document.body );
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/85638.html
摘要:一般來說,聲明式編程關注于發生了啥,而命令式則同時關注與咋發生的。聲明式編程可以較好地解決這個問題,剛才提到的比較麻煩的元素選擇這個動作可以交托給框架或者庫區處理,這樣就能讓開發者專注于發生了啥,這里推薦一波與。 本文翻譯自FreeCodeCamp的from-zero-to-front-end-hero-part。 繼續譯者的廢話,這篇文章是前端攻略-從路人甲到英雄無敵的下半部分,在...
摘要:一為什么選擇是當前前端應用最廣泛的框架。目前來看的生態系統要比大的多,在等最大的技術社區搜索兩者,的搜索結果是的十倍左右,另外據近期統計使用的站點是的幾百倍以上。其中是基于技術,依然是瀏覽器應用。 一、為什么選擇React React是當前前端應用最廣泛的框架。三大SPA框架 Angular、React、Vue比較。 Angular出現最早,但其在原理上并沒有React創新的性能優化...
摘要:是完全面向對象的語言,對象具有狀態行為和標識。類一一是具有共同特征和行為的一類事物的統稱。受保護的,對同一包內的類和所有子類可見。一種通用的內存池,用于存放所有對象。類級變量又稱全局級變量或靜態變量,需要使用關鍵字修飾。 java語言的基本特點 java語言是面向對象的高級程序設計語言,它是編譯型的語言,Java語言不使用指針,并提供了自動的垃圾回收機制,使得程序員不必為內存管理而擔...
摘要:首先明確是一個庫,它的類型是函數,這一點可以通過查看。判斷傳入的參數是還是返回具體的方法函數可將所有的添加一個可將所有的變為全局聲明,它是一個函數,返回一個對象,對象內有不同的方法,本文例子有個方法增加類名,修改節點內容。 首先明確jQuery是一個JavaScript庫,它的類型是函數,這一點可以通過typeOf查看。需要注意的是,script引入方式是本地文件引入,如果是CDN引入...
摘要:首先明確是一個庫,它的類型是函數,這一點可以通過查看。判斷傳入的參數是還是返回具體的方法函數可將所有的添加一個可將所有的變為全局聲明,它是一個函數,返回一個對象,對象內有不同的方法,本文例子有個方法增加類名,修改節點內容。 首先明確jQuery是一個JavaScript庫,它的類型是函數,這一點可以通過typeOf查看。需要注意的是,script引入方式是本地文件引入,如果是CDN引入...
閱讀 3570·2023-04-25 16:35
閱讀 715·2021-10-11 11:09
閱讀 6196·2021-09-22 15:11
閱讀 3364·2019-08-30 14:03
閱讀 2604·2019-08-29 16:54
閱讀 3357·2019-08-29 16:34
閱讀 3065·2019-08-29 12:18
閱讀 2134·2019-08-28 18:31