2017-08-12 54 views
2

我已經嘗試了css-in-js迷人的圖書館,無法將我的頭圍繞在一件事情上。兒童選擇與迷人的css-in-js

香草CSS,你可以樣式類中方便地添加到所有的選擇,說:

.my-awesome-class div { 
    margin-right: 10px; 
} 

有什麼辦法與美豔才達到的呢?例如,在這個片段進出口尋找一種方式來聲明,所有的容器內的div應該有20像素的margin-right,而不需要將它傳遞給每個組件:

import React from 'react'; 
import { render } from 'react-dom'; 
import glamorous, {Div} from 'glamorous'; 

const Container = glamorous.div({ 
    display: 'flex' 
}); 

class App extends React.Component { 
    render() { 
    return (
     <Container> 
     <Div backgroundColor="tomato" padding="10px">One</Div> 
     <Div backgroundColor="wheat" padding="10px">Two</Div> 
     <Div backgroundColor="salmon" padding="10px">Three</Div> 
     </Container> 
    ); 
    } 
} 

render(<App />, document.getElementById('root')); 

這裏的工作片段的鏈接: https://stackblitz.com/edit/glemorouschildselector

+1

團隊前段時間,我在JavaScript中決定使用樣式。有史以來最糟糕的決定。請保存你的未來自己的痛苦。去薩斯。 –

+1

@andrerpena,謝謝,這也是我對css-in-js的總體看法,但我決定建立一個小型項目來親身體驗它。這是我首先想到的。 –

+0

@andrerpena,如果我可能會問,你的主要問題是什麼? –

回答