【问题标题】:How to add Sass variable to Styled components in react js如何将 Sass 变量添加到 React js 中的样式化组件
【发布时间】:2018-09-25 14:30:12
【问题描述】:

我需要将 sass 变量添加到 react js 中的样式化组件中,我已经通过此链接 Sass-extract-js 并遵循了他们的程序。

但我被困在这条线上

import styled from 'styled-components';

const Button = styled.button`
background-color: ${p => p.theme.primary} //explain this line
`;

我创建了 var.scss 文件并包含

$black:#000000;
$white:#ffffff;
$red:#f64406;
$gray:#333333;
$green:#3bbd47;

在我的渲染中

<div>
  <div>
    <h2>Welcome Back!</h2>
    <h3>Login Your Account</h3>
  </div>

样式化组件

const Content = styled.div`
 h1:${}//how i can get variable here
 `;

【问题讨论】:

  • 为什么要声明 sass 变量以便首先在 CSS-inJS 中使用它们?

标签: reactjs sass


【解决方案1】:

这可以通过在样式组件中使用主题来实现。您可以将变量添加到ThemeProvider,如下所示:

const theme = {
black:#000000,
white:#ffffff
red:#f64406
gray:#333333,
green:#3bbd47
}
<ThemeProvider theme={theme} >
    <App />
</ThemeProvider>

然后这个对象就可以在 styled-components 中使用了

const BlackDiv = styled`
  color: ${(props) => props.theme.black}`;

更多信息请查看theming

【讨论】:

  • 好的,我需要在 index .js 文件中导入常量变量主题文件吗?
  • 但我确实喜欢这个 const theme = require(sass-extract-loader?{ "plugins": ["sass-extract-js"] }!./assets/css/var.scss);
  • 你可以使用npm包npmjs.com/package/sass-vars-to-js将sass变量提取到js对象中
猜你喜欢
  • 2020-04-27
  • 2022-12-30
  • 1970-01-01
  • 1970-01-01
  • 2021-07-02
  • 1970-01-01
  • 2020-09-17
  • 2021-03-31
  • 2021-03-19
相关资源
最近更新 更多