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;