【问题标题】:How to share value from js object to sass variable in react-js?如何将 js 对象的值共享到 react-js 中的 sass 变量?
【发布时间】:2020-04-27 14:24:53
【问题描述】:

我正在尝试动态更改我的应用程序主题颜色。我想通过 JavaScript 从服务器获取具有颜色值的对象,然后将这些值传递给 sass 变量。

我发现了很多关于此的文章,但其中一些对我没有任何帮助:

https://itnext.io/sharing-variables-between-js-and-sass-using-webpack-sass-loader-713f51fa7fa0

https://github.com/pmowrer/node-sass-json-importer#node-sass-json-importer

Is there a way to import variables from javascript to sass or vice versa?

https://frontend-cookbook.ack.ee/pages/implementation/SharingVariables.html

【问题讨论】:

    标签: javascript css reactjs sass


    【解决方案1】:

    我建议您对该主题颜色使用内联样式

    <SomeComponent className={this.state.themeColor === 'black'? 'classDarkMode' : 'classNormalMode'} />
    

    你也可以使用像 styled components 这样的 lib,它允许你将 props 直接传递到样式中

    【讨论】:

      【解决方案2】:

      使用javascript你不能改变scss文件的值,因为scss在服务器被编译成css然后发送到执行javascript的客户端。

      但是,您可以通过 css 变量 (more here) 来实现。 您可以使用具有默认值的 css 变量,然后通过 JS 更改变量的值。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-07
      • 2018-03-08
      • 1970-01-01
      • 2017-07-19
      • 2018-09-10
      相关资源
      最近更新 更多