Javascript 反应+;使用状态自定义样式的样式化组件

Javascript 反应+;使用状态自定义样式的样式化组件,javascript,reactjs,styled-components,Javascript,Reactjs,Styled Components,新的反应和样式的组成部分,可能已经让我自己在一个混乱,因为不了解它是如何运作的 让我们从头开始。 我有一个简单的页面(App.js),它呈现两个组件“旋钮”。 我想传递每个“旋钮”一个或多个属性,以便它可以计算其大小和其他相关的实例道具。在下面的例子中,一个已知的大小是200px,它的姐妹是100px 从“React”导入React; 从“./components/Knob.js”导入旋钮 导入“/App.css”; 函数App(){ 返回( 你好,世界 ); } 导出默认应用程序这看起来是将

新的反应和样式的组成部分,可能已经让我自己在一个混乱,因为不了解它是如何运作的

让我们从头开始。 我有一个简单的页面(App.js),它呈现两个组件“旋钮”。 我想传递每个“旋钮”一个或多个属性,以便它可以计算其大小和其他相关的实例道具。在下面的例子中,一个已知的大小是200px,它的姐妹是100px

从“React”导入React;
从“./components/Knob.js”导入旋钮
导入“/App.css”;
函数App(){
返回(
你好,世界
);
}

导出默认应用程序这看起来是将道具传递到样式化组件的一个很好的用例。它看起来像这样:

 var Styles = styled.div`
    .vpotText {
        fill: green;   
        font-size: ${props => props.size};
    }
`

<Styles size={someSize}>
    ...
</Styles>
var Styles=styled.div`
.虚拟文本{
填充:绿色;
字体大小:${props=>props.size};
}
`
...
您可以在此处找到文档:

a)这就是我们在样式化组件中使用props变量的方式:

const Styles = styled.div`
    .vpotText {
        fill: green;   
        font-size: ${props => props.fontSize}px;
    };
`;
b) 这样你就不需要给州政府打两次电话了

render(){
    return(
        <Styles fontSize={this.state.fontSize}>
           ...
       </Styles>
   )}

多亏了你们两位(tomas&msiller455),这终于让我明白了道具是如何工作的!一个catch——在组件中使用名称fontSize给了我一个错误(没有重载匹配此调用)。但是如果我把它改成下面的,它会按照规定工作
并且在样式声明中:
字体大小:${props=>props['font-size']}pxconst StyledValue = styled(Value)`
       fill: green;   
       font-size: ${props => props.fontSize}px;
    `;