Ant Design of React項目實戰(zhàn)(非專業(yè))

一、創(chuàng)建react項目髓涯,引入相關(guān)依賴包

關(guān)鍵文件夾及文件:

config:全局配置文件夾(config.js)

node_modules:依賴包文件夾

public:公共文件夾(首頁index.html:提供一個應(yīng)用根DOM)

src:項目模塊文件夾

????????assets: 公用資源(css袒啼、img)

????????components 非路由組件

? ? ? ? containers:模塊容器文件夾

????????utils 工具模塊(api.js:封裝的api工具模塊)

index.js: 入口js文件

navs.js:側(cè)邊欄配置文件

routes.js:路由配置文件

項目目錄結(jié)構(gòu)
public/index.html
src/router.js
src/nav.js
src/index.js

在src/index.js里面把頁面渲染到根DOM里面,而渲染的內(nèi)容從src/containers/Index.js里面生成纬纪。

src/containers/Index.js

下面以report為例:React 是一個聲明式蚓再,高效且靈活的用于構(gòu)建用戶界面的 JavaScript 庫。使用 React 可以將一些簡短包各、獨立的代碼片段組合成復(fù)雜的 UI 界面摘仅,這些代碼片段被稱作“組件”。而我們上面的代碼中就使用了這種模式问畅。

由路由配置文件可知娃属,我們進入首頁后,會默認渲染app容器的內(nèi)容护姆,當(dāng)我們訪問localhost:3000/report時矾端,會去Report容器中調(diào)用report方法,即需要在容器中將report方法導(dǎo)出签则,給外部使用,同樣在report方法中 也使用了BasicTale組件及ConfigProvider組件须床,還使用了國際化漢化組件zhCN铐料。

src/containers/Report.js

BasicTable組件:主要頁面渲染渐裂,同時還引入了一些ant design系統(tǒng)組件和自定義組件,? TypeList組件:自定義類型下拉組件? ?TimeList組件:自定義時間范圍組件钠惩。

組件引入柒凉、組件繼承、組件導(dǎo)出

在組件類中初始化數(shù)據(jù)篓跛,定義公共方法膝捞,渲染數(shù)據(jù)頁面。

初始化及頁面渲染

這里主要講幾個關(guān)鍵點:1愧沟、子組件向父組件傳值? ? 2蔬咬、setState異步問題? ? 3鲤遥、樹形數(shù)據(jù)顯示? ?4、數(shù)據(jù)綁定 監(jiān)聽

1 林艘、父組件寫一個監(jiān)聽子組件的方法盖奈,方法回調(diào)中獲取組件的值,在子組件中onChange事件中 調(diào)用父級組件的監(jiān)聽方法狐援,父組件使用子組件是钢坦,自動監(jiān)聽。

子組件TimeList
父組件監(jiān)聽方法

父組件啥酱,通過timeValue監(jiān)聽子組件的getTimeValue 屬性爹凹,即實現(xiàn)子組件向父組件傳值。

監(jiān)聽關(guān)聯(lián)

2镶殷、在setState時禾酱,由于這個方法是異步執(zhí)行的,如果馬上去獲取setState的值绘趋,會出現(xiàn)宇植,還是原來的值,這就需要在setState的回調(diào)中去使用埋心。

異步執(zhí)行指郁、回調(diào)使用

3、table樹形子級拷呆,在點擊切換子級時闲坎,好像并不會自動隱藏另一個子級,所以需要優(yōu)化下(可能也是我沒有找到)茬斧。

Table組件

通過分析腰懂,我們可以知道展開是在onExpand考驗監(jiān)聽到的,并且通過expandedRowKeys的值项秉,控制展開行的绣溜,我們只要監(jiān)聽動態(tài)的改變這個值,就可以實現(xiàn)展開隱藏的優(yōu)化了娄蔼。

子級優(yōu)化函數(shù)

當(dāng)我們點擊觸發(fā)展開隱藏操作時怖喻,會傳遞兩個參數(shù),expanded:展開還是隱藏的狀態(tài)值岁诉,record:當(dāng)前點擊的記錄對象锚沸,我們首先設(shè)置記錄的展開的key值的數(shù)組為空,當(dāng)狀態(tài)為展開時涕癣,把當(dāng)前的key值存到臨時數(shù)組中哗蜈,并將當(dāng)前展開的值賦值給state里面的我們自定義的記錄值expandedKey,而我們在table中通過監(jiān)聽這個值得變化,來控制行的展開隱藏距潘,就實現(xiàn)了我們的優(yōu)化炼列。這個函數(shù)還做了個優(yōu)化,就是當(dāng)點擊的是父級音比,并且操作時展開時唯鸭,才會去重新獲取子集數(shù)據(jù)并重新渲染data值(默認獲取父級數(shù)據(jù)時,子級數(shù)據(jù)都不獲取硅确,即children為空數(shù)組)目溉。

4、數(shù)據(jù)監(jiān)聽綁定菱农,就是當(dāng)我們改變state里面的值時缭付,會相應(yīng)的改變監(jiān)聽綁定相關(guān)值的渲染

即我們代碼中 對相應(yīng)需要監(jiān)聽綁定的值做了定義,當(dāng)我們改變這個值的時候循未,數(shù)據(jù)會根據(jù)改變的值重新渲染陷猫,而當(dāng)我們獲取數(shù)據(jù)的時候,也可以重置這些值的妖。

自定義監(jiān)聽值

最終效果



React App
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绣檬,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子嫂粟,更是在濱河造成了極大的恐慌娇未,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件星虹,死亡現(xiàn)場離奇詭異零抬,居然都是意外死亡,警方通過查閱死者的電腦和手機宽涌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門平夜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人卸亮,你說我怎么就攤上這事忽妒。” “怎么了兼贸?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵段直,是天一觀的道長。 經(jīng)常有香客問我寝受,道長坷牛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任很澄,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘甩苛。我一直安慰自己蹂楣,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布讯蒲。 她就那樣靜靜地躺著痊土,像睡著了一般。 火紅的嫁衣襯著肌膚如雪墨林。 梳的紋絲不亂的頭發(fā)上赁酝,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機與錄音旭等,去河邊找鬼酌呆。 笑死,一個胖子當(dāng)著我的面吹牛搔耕,可吹牛的內(nèi)容都是我干的隙袁。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼弃榨,長吁一口氣:“原來是場噩夢啊……” “哼菩收!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起鲸睛,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤娜饵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后官辈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體划咐,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年钧萍,在試婚紗的時候發(fā)現(xiàn)自己被綠了褐缠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡风瘦,死狀恐怖队魏,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情万搔,我是刑警寧澤胡桨,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站瞬雹,受9級特大地震影響昧谊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜酗捌,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一呢诬、第九天 我趴在偏房一處隱蔽的房頂上張望涌哲。 院中可真熱鬧,春花似錦尚镰、人聲如沸阀圾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽初烘。三九已至,卻和暖如春分俯,著一層夾襖步出監(jiān)牢的瞬間肾筐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工缸剪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留吗铐,地道東北人。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓橄登,卻偏偏與公主長得像抓歼,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子拢锹,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容