【问题标题】:How to use style tag in ReactJS while using non-JSX syntax?使用非 JSX 语法时如何在 ReactJS 中使用样式标签?
【发布时间】:2017-11-22 11:19:18
【问题描述】:

我需要快速帮助。我正在使用带有非 JSX 语法的 ReactJS,因为我觉得使用它比 JSX 更舒服

我可以轻松创建一个 div ,但我不知道如何像我们在纯 html 中那样包含样式标签;例如:<div class="some-name-here" style="some-style-here"......</div>

代码如下:

var DOMstyle = {
  backgroundColor: 'blue',
  width : 100
};


let Header = class Header extends Component {
  render() {
    return(
      React.createElement('div', {className : 'header'}, "hello",
      )
    );
  }
};

我正在尝试将 DOMstyle 包含到此 div 中,以便浏览器会看到类似 <div class="some-name-here" style="some-style-here"......</div> 的内容

任何帮助将不胜感激。

谢谢。

【问题讨论】:

标签: reactjs jsx


【解决方案1】:

您可以将自定义样式中的定义从 javascript 传递到您传递给 React.createElement 的对象中的样式属性。

const DOMstyle = {
  borderTop: '2px solid blue',
  width : '100%',
  backgroundColor: 'red',
}

class Header extends React.Component {
  render() {
    return React.createElement('div', {className: 'header', style : DOMstyle}, "hello");
  }
};

ReactDOM.render(<Header />, document.getElementById('app'))
.header {
  font-family: 'arial';
  color: #fff;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app"></div>

结果是这样的

<div class="header" style="font-family: 'arial';color:#fff;">Hello</div>

【讨论】:

  • 这对我来说很好。感谢您快速准确的回答。
  • 快速问题:如何在 DOMstyle 中指定单位;像宽度:例如 100% ?
  • 知道如何包含多个参数,例如:border-top:1px、solid、red;例如?
  • @coco 像这样:const DOMstyle = { width : '100%', backgroundColor: 'red', borderTop: '1px solid red' } 把所有的值都放在'' 里面用空格隔开,这样就可以了。
猜你喜欢
  • 2021-07-25
  • 2016-08-07
  • 1970-01-01
  • 1970-01-01
  • 2022-06-12
  • 1970-01-01
  • 2021-05-03
  • 2020-07-09
  • 2018-10-25
相关资源
最近更新 更多