如何动态更改 ReactJS 样式?

IT技术 javascript css reactjs
2021-04-06 01:09:11

我试图在我的 twitter bootstrap web 应用程序中运行 ReactJS。我在使用样式时遇到了一些问题。

有这个 div:

   ...
   <div class="ui-progressbar-value ui-widget-header ui-corner-left" style="width: 80%;"/>
   ...

我正在编写一些动态进度条,并希望进行 80% 的更改(查看下面的 **)。所以这是我在 JSX 中编写的代码:

  var Task = React.createClass({
  render: function() {
  return (
  <li>
    <a href="#">
      <span className="header">
        <span className="title">{this.props.type}</span>
        <span className="percent">{this.props.children}%</span>
      </span>

      <div className="taskProgress progressSlim progressBlue" >
        <div className="ui-progressbar-value ui-widget-header ui-corner-left" 
       **style="width"+{this.props.value} +"%;" />**
      </div>
    </a>
   </li>
  );
 }
});

我阅读了一些关于内联 sytles 的文档,但这个例子非常简单。

谢谢你的帮助。

编辑:

通过使用:

    style={{width : this.props.children}}

它工作正常,但只是想知道如何将其强制为 % 而不是 px。

1个回答

好的,终于找到解决方案了。

可能是由于缺乏 ReactJS 和 Web 开发经验...

    var Task = React.createClass({
    render: function() {
      var percentage = this.props.children + '%';
      ....
        <div className="ui-progressbar-value ui-widget-header ui-corner-left" style={{width : percentage}}/>
      ...

我在渲染函数外部创建了百分比变量。

你也可以写类似的东西style={{width: this.props.value + "%"}}
2021-06-01 01:09:11
或者甚至更好,使用模板字符串: style={{width: `${this.props.value}%`}}
2021-06-14 01:09:11