0

我正在创建一个 react/redux 应用程序,并希望利用 JSS 主题来设置我的应用程序/组件的样式。我还在使用其他使用 JSS 主题的库,例如 Material UI,因此我需要创建一个命名空间主题,如 http://cssinjs.org/react-jss?v=v8.1.0#theming中所述,以避免与其他主题。

这是否意味着我必须在要使用该主题设置样式的每个组件中导入我的命名空间主题,并将其传递给injectSheet?IE:

import React from 'react
import injectSheet, {ThemeProvider} from 'react-jss

// import my custom namespaced theming object...
import theming from '../path/to/my/custom/theming'

const styles = theme => ({
  container: {
    background: theme.background,
  }
})

const Demo = () => (
    <div className={props.classes.container}>
      //...
    </div>
)

// injectSheet with my custom namespaced theming object..
export default injectSheet(styles, {theming})(Demo)

这感觉非常麻烦。这是另一种方式吗?我错过了什么吗?提前致谢 :)

4

1 回答 1

1

您可以将您的 injectSheet 函数包装在一个中心位置并始终在那里传递主题。

于 2017-12-08T12:38:09.337 回答