之前咱們在網頁開發的時候會有一個概念,「關注點分離」,好比咱們的css js html 這三種技術。html僅僅對應網頁的結構,css僅僅負責網頁的樣式,js僅僅負責網頁的交互邏輯。好比最好不要寫行內樣式,行內js。可是react的出現,恰好打破了這一點,他把這三者完美的結合在一塊兒。這有利於組件的隔離。什麼意思? 就是組件與組件之間沒有過多的依賴,過多的耦合。扯遠了。。。css
css in js 簡單來講html
1.咱們把css寫在js中實際上就是用js去寫css ,那麼好處就是咱們能夠在css中使用js定義的變量,好比咱們使用的style-components這個庫,咱們甚至能夠使用組件的props當作參數,來改變樣式。這使咱們寫起css更加的靈活。react
2.就像我前面說的,咱們再也不擔憂全局樣式可能會帶來的影響,由於組件的樣式跟組件同樣是獨立的。spa
3.使用style-components咱們沒必要擔憂去給元素的class命名,由於他會爲class隨機生成字符串,避免了命名衝突。component