javascript - 在 styled-components 中定义变量

标签 javascript reactjs styled-components

是否可以在 styled-components 组件中定义变量?

希望下面的代码(不工作)显示我所追求的:

const Example = styled.div`
  ${const length = calc(vw - props.someValue)}

  width: ${length};
  &.disable {
    width: ${length};
  }  
`

最佳答案

据我了解Template Literal 的 指南,此代码将不起作用。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

模板文字是那些在 div 之后包装代码的反引号。

const Example = styled.div`here`

假设:

const num = 10;
console.log(\`The number I saved in a variable is ${num}\`);

输出日志将是:“我保存在变量中的数字是 10”

在模板文字中,您可以有一个表达式。在内部声明一个变量是不可能的,因为它是一个语句: http://2ality.com/2012/09/expressions-vs-statements.html

所以这个问题更多的是关于 Javascript 的核心,然后是 styled-components 本身。

关于javascript - 在 styled-components 中定义变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48857861/

相关文章:

javascript - 如何使用 Jest 和 Enzyme 测试样式组件是否具有属性

css - 是否可以填充背景颜色,这样就没有白色了?我在此屏幕截图中使用 clip-path css 属性

javascript - 如何以对象形式在eval中传递参数?

javascript - Typescript 中的对象类型

reactjs - 将样式化组件样式应用于第三方组件

javascript - 如何使用 React js POST JSON 数据?

reactjs - 是否可以禁用 Jest 的特定 React 警告(使用 Create React App)

javascript - 从 asp.net 和 Ajax 的列表中删除自动完成选定的项目

javascript - Angular $resource 从 REST 查询字符串中删除问号

JavaScript 检查属性数组是否按升序排序