如何在 React 16+ 中动态添加 类?
How do I add classes dynamically in React 16+?
我有一个简单的 React 应用程序,我想在我的组件中动态添加 类。
注意:我使用的是 React 16.6.3。
这是我尝试过的:
布局组件
import React from 'react';
import Aux from '../../hoc/Aux';
import classes from './Layout.css';
const layout = (props) => (
<Aux>
<div>Toolbar, SideDrawer, Backdrop </div>
<main className={classes.Content}>
{props.children}
</main>
</Aux>
);
export default layout;
这是我在 Layout.css
中的内容:
.Content{
margin-top: 16px;
color: green;
}
不幸的是,当我 运行 没有 类 的应用程序被添加到我的 div main
。我做错了什么?
根据 CRA 的约定,CSS 模块应以 .module.(s)css
命名。所以只需将 Layout.css
的名称更改为 Layout.module.css
。您还需要将导入更改为 import * as classes
,因为构建过程不会生成默认导出。
您可以为具有属性的 class 传递变量。组件的名称需要大写。布局。
示例:
const Layout = (props) => (
<Aux>
<div>Toolbar, SideDrawer, Backdrop </div>
<main className={props.customClass}>
{props.children}
</main>
</Aux>
当你调用你的组件时,你可以这样做:
<div>
<Layout customClass="dynamic-class" />
</div>
我有一个简单的 React 应用程序,我想在我的组件中动态添加 类。
注意:我使用的是 React 16.6.3。
这是我尝试过的:
布局组件
import React from 'react';
import Aux from '../../hoc/Aux';
import classes from './Layout.css';
const layout = (props) => (
<Aux>
<div>Toolbar, SideDrawer, Backdrop </div>
<main className={classes.Content}>
{props.children}
</main>
</Aux>
);
export default layout;
这是我在 Layout.css
中的内容:
.Content{
margin-top: 16px;
color: green;
}
不幸的是,当我 运行 没有 类 的应用程序被添加到我的 div main
。我做错了什么?
根据 CRA 的约定,CSS 模块应以 .module.(s)css
命名。所以只需将 Layout.css
的名称更改为 Layout.module.css
。您还需要将导入更改为 import * as classes
,因为构建过程不会生成默认导出。
您可以为具有属性的 class 传递变量。组件的名称需要大写。布局。
示例:
const Layout = (props) => (
<Aux>
<div>Toolbar, SideDrawer, Backdrop </div>
<main className={props.customClass}>
{props.children}
</main>
</Aux>
当你调用你的组件时,你可以这样做:
<div>
<Layout customClass="dynamic-class" />
</div>