isomorphic-style-loader - 如何添加 "active" class
isomorphic-style-loader - How to add an "active" class
我正在使用 react-starter-kit 并构建一个如下所示的列表组件:
import React from 'react';
import withStyles from 'isomorphic-style-loader/lib/withStyles';
import s from './CommandList.css';
const CommandList = () => {
return (
<ul className={s.commandList}>
{data.commands.map((command, index) => (
<li
key={index}
className={s.commandListItem}>
{command.command}
</li>
))}
</ul>
);
};
export default withStyles(s)(CommandList);
我正在尝试将 "active" class 添加到我的 li
项目,但不确定如何添加?我尝试使用 classnames
库,但不确定如何从我的样式中获取第二个 class。当我只传入字符串 "active" 时,样式不会被导入。
import cx from 'classnames';
<li className={cx(s.commandListItem, {'active': command.active })}>
我的问题是我该怎么做:
<li className={cx(s.commandListItem, {s.active: command.active })}>
想通了。我用错了 classnames
。我需要导入 classnames/bind
.
import s from './CommandList.css';
import classnames from 'classnames/bind';
let cx = classnames.bind(s);
然后我可以像我想要的那样传入 'active' 字符串:
<li className={cx(s.commandListItem, {'active': command.active })}>
cx
var 名称现在更有意义
<li className={cx(s.commandListItem, {[s.active]: command.active })}>
请参阅 []
对象键表示法
className 在 React 中是字符串,你必须将所有对象转换为字符串
首先创建一个 classes 数组,你想分配给 class
然后将 class 名称的数组转换为字符串
className={[s.commandListItem, 'active'].join('')}
我正在使用 react-starter-kit 并构建一个如下所示的列表组件:
import React from 'react';
import withStyles from 'isomorphic-style-loader/lib/withStyles';
import s from './CommandList.css';
const CommandList = () => {
return (
<ul className={s.commandList}>
{data.commands.map((command, index) => (
<li
key={index}
className={s.commandListItem}>
{command.command}
</li>
))}
</ul>
);
};
export default withStyles(s)(CommandList);
我正在尝试将 "active" class 添加到我的 li
项目,但不确定如何添加?我尝试使用 classnames
库,但不确定如何从我的样式中获取第二个 class。当我只传入字符串 "active" 时,样式不会被导入。
import cx from 'classnames';
<li className={cx(s.commandListItem, {'active': command.active })}>
我的问题是我该怎么做:
<li className={cx(s.commandListItem, {s.active: command.active })}>
想通了。我用错了 classnames
。我需要导入 classnames/bind
.
import s from './CommandList.css';
import classnames from 'classnames/bind';
let cx = classnames.bind(s);
然后我可以像我想要的那样传入 'active' 字符串:
<li className={cx(s.commandListItem, {'active': command.active })}>
cx
var 名称现在更有意义
<li className={cx(s.commandListItem, {[s.active]: command.active })}>
请参阅 []
对象键表示法
className 在 React 中是字符串,你必须将所有对象转换为字符串
首先创建一个 classes 数组,你想分配给 class
然后将 class 名称的数组转换为字符串
className={[s.commandListItem, 'active'].join('')}