Javascript CSS模块将属性作为样式属性传递
我想将自定义类添加到我正在学习的应用程序中的Javascript CSS模块将属性作为样式属性传递,javascript,css,reactjs,css-modules,Javascript,Css,Reactjs,Css Modules,我想将自定义类添加到我正在学习的应用程序中的按钮组件中 在我的表单.js中我有 import React, {Component} from 'react'; import Button from './Button'; import styles from '../css/LoginElements.css'; class Form extends Component { render() { const click = this.props.onSubmit; re
按钮组件中
在我的表单.js中
我有
import React, {Component} from 'react';
import Button from './Button';
import styles from '../css/LoginElements.css';
class Form extends Component {
render() {
const click = this.props.onSubmit;
return(
<div className={styles.form}>
<Button
name="Register"
className="register"
onClick={click} />
</div>
);
}
}
export default Form;
问题是,如果我在logineElements.css
文件中放入.className
,而不是.register
,则样式.className
将起作用
要将button属性中的类名用作类,我需要做什么?不仅仅是register
,而是像logineelements\uuuu register\uuuu 34Kfd
(局部范围)?也许我没有正确理解这一点,但我认为问题在于您使用点符号从样式而不是括号中访问类名
你能把Button.js更新到
如果您执行className={styles[className]}
操作,那么您将从logineelements.css
获得.register
类。这就是你想要的吗?就是这样!我忘了把它当作普通的东西!谢谢
import React from 'react';
import styles from '../css/LoginElements.css';
const Button = ({name, onClick, className }) => (
<div className={styles.wrapper}>
<div className="field">
<div className={className? styles.className : styles.button} onClick={onClick}>{name}</div>
</div>
</div>
);
export default Button;