標籤:
因為被派去協助別的組,有機會寫了一下react,發現ICE做的那一個套件用來搭建後台系統真的太給力了(插一句必入table組件其實是可以把刪除添加座位基礎方法加進去的)。因為看了demo的代碼以及對於jsx文法的不熟悉,所以一時不知所措把css寫在哪裡才發現react對於css的處理已經不同於原來傳統對於css的定義了,參考這篇文章
react很核心的思想就是:1. 資料和ui分層;2. 組件化;第二點其實也是建立在第一點之上的,在後台系統中的運用簡直太合適了,跟我當時在考拉的時候想做的是差不多,但是react的組件用起來真的太方便,直接把資料props傳進去component就可以直接展示了。然而有點跑題,寫這篇文章主要是想說對css觀念的衝擊給我帶來的衝擊,傳統的css發展了這麼多年,在每個階段有開發人員為他提供開發工具比如sass、less之類的簡化當時的流程。然而css本身是有一些缺點比如css是一個很全域的東西,命名空間都需要自己加(所以才有了sass&less類的“程式設計語言”),而且很多情況下並不能複用,我也一直覺得很多時候都想寫inline style,然而為了可維護性都盡量寫在了css檔案中。
然而爆棧網的上文中把style的作用歸類為了 1. Layout; 2. Appearance;3. Behavior & state;其中Layout是不適合作為inline-style去寫的,而後面的Appearance是最方便寫inline style的,而第三個因為state變化的(比如hover、activate狀態的)引起的樣式變化,因為react本身就有狀態的管理所以很自然的就可以用inline style來處理。這給人感覺就是真的從一件事情的本質去思考為什麼有了現有的問題及解決方案的,包括react這個架構的出現也是一樣。
有機會真的應該看看react和jsx、css的幾個conf,真的會拓寬很多思路,包括今天在stackexchange上看到的puzzle也很有趣,相比掌盟上毫無意義的評論,reddit上對於s6的評價要精彩的多。這幾天對代碼工程化的思考和看了《松本行弘的程式世界》中關於軟體開發的原則的總結,很大程度上都歸結於DRY(dont repeat yourself)而這很大是靠封裝和多態性,暫時是比較認同。又一次發現要把自己的視野再放大一點啊。。。
關於css的新思考