javascript - 根据 React 页面中的行数据更改 scss 中的颜色

标签 javascript reactjs sass

我在 React 页面中有一个网格,每一行都使用 scss 文件中的属性进行样式设置。我希望能够根据行 JSON 数据的颜色更改某些内容的颜色,例如行背景、边框和其他一些内容。我不想维护 8 个 scss 文件(每种颜色一个)。我想传递一种颜色并让它更改 scss 文件中的值。我不知道如何将值从 React 传递到 scss 文件。

我的主 .scss 文件

@import 'variables.scss';

.memberRow{
    width:99%;
    height:55px;
    border:solid 2px $color-member4;
    margin:3px;
    display: flex;
    flex-direction: row;
    background-color: $color-member4-bg;
}

我的variables.scss文件

$color-member1: #65D3E3;
$color-member2: #ED7425;
$color-member3: #F7BC20;
$color-member4: #34B66B;
$color-member5: #9675CC;
$color-member6: #7B8A97;
$color-member7: #2962FF;
$color-member8: #F48FB1;

$color-member1-bg: #65D3E355;
$color-member2-bg: #ED742555;
$color-member3-bg: #F7BC2055;
$color-member4-bg: #34B66B55;
$color-member5-bg: #9675CC55;
$color-member6-bg: #7B8A9755;
$color-member7-bg: #2962FF55;
$color-member8-bg: #F48FB155;

最佳答案

我个人会做这样的事情:

@import 'variables.scss';

.memberRow{
    width:99%;
    height:55px;
    margin:3px;
    display: flex;
    flex-direction: row;

    &.color1 {
       border: solid 2px $color-member1;
       background-color: $color-member1-bg;
    }
    &.color2 {
       ...
    }
}

或扩展“基类”:

.color1 {
   @extend .memberRow;
   border: solid 2px $color-member1;
   background-color: $color-member1-bg;
}

关于javascript - 根据 React 页面中的行数据更改 scss 中的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57365063/

相关文章:

javascript - 在 React 中,onChange 和 onInput 有什么区别?

javascript - 如何在 react-js 中将 js 对象的值共享给 sass 变量?

css - Sass "Error: Can' t 找到要导入的样式表。”

html - 如何覆盖特定页面中的CSS重要规则

javascript - 使用 Angular 处理表单 : error doesn't show

javascript - 长按 - ASP.NET

javascript - 在 React 中获取 div 的 offsetTop 位置

javascript - React JS scrollIntoView() 不会一直向下滚动

javascript - 如何防止已取消的商品掉落

javascript - 使用 JS/jQuery 修改路径的最有效方法