我试图将类名传递给react组件以更改其样式,但似乎无法正常工作:

class Pill extends React.Component {

  render() {

    return (
      <button className="pill {this.props.styleName}">{this.props.children}</button>
    );
  }

}

<Pill styleName="skill">Business</Pill>

我试图通过传入具有相应样式的类的名称来更改pill的样式.我是新来的,所以可能我做得不对.谢谢

推荐答案

在React中,当你想传递一个解释过的表达式时,你必须打开一对花括号.try :

render () {
  return (
    <button className={`pill ${ this.props.styleName }`}>
      {this.props.children}
    </button>
  );
}

使用classnames npm软件包

import classnames from 'classnames';

render() {
  return (
    <button className={classnames('pill', this.props.styleName)}>
      {this.props.children}
    </button>
  );
}

Reactjs相关问答推荐

我可以使用全局变量而不是React.上下文来在这里传递常数props 吗?

为什么我的功能React组件中的setInterval只更改一次值?

页面永远加载API/从数据库获取数据

使用VITE的Reaction应用程序的配置是否正确?

react -无法获取函数的最新参数值

Javascript - 正则表达式不适用于 MAC OS - 编码?

警告:遇到两个子元素拥有同一把 keys .键应该是唯一的,以便组件在更新时保持其身份

如何在 ChartJS 中创建此图表?在 NEXTjs 和 TSX 中

React router v5 仅在生产中不适用于嵌套路由

数据表格组件需要所有行都具有唯一的ID属性.或者,您可以使用getRowId属性.

useRef.current.value 为空值

即使配置了 webpack.config.js,html-loader 也不起作用

如何防止开发人员使用 ESLint 在 React 项目中使用特定的钩子?

Github 页面无法正确呈现 CSS,因为它是本地的

ReactJs 行和列

使用输入类型文本对 useState 和日期做出react

在嵌套的 Stack Navigator 中的 BottomTabBar 中导航会导致比以前更多的渲染

需要帮助在 document.queryselector 的 nextjs 页面上插入 useEffect 状态

如何使用 babel 将 SVG 转换为 React 组件?

为什么 state redux-toolkit 是代理?