我正在尝试使用ReactJS显示HTML元素。这些HTML元素使用MaterializeCSS。当我分别在“常规” HTML中加载元素时,在我的index.html文件中,所有元素均正确加载。

这是我的代码:

index.js

const mainpage_buttons = (
      <div classname="side-options">
        <a classname="btn-floating btn-large red" data-activates="slide-out">
          <i classname="material-icons">menu</i>
        </a>
      </div>
);

const mainpage_sidenav = (
      <ul id="slide-out" className="side-nav">
        <li><a className="subheader">Active Surveys</a></li>
        <li><a href="#!">Survey 2</a></li>
        <li><a href="#!">Survey 3</a></li>
        <li><div className="divider" /></li>
        <li><a className="subheader">Inacitve Surveys</a></li>
        <li><a href="#!">Survey 1</a></li>
        <li><div className="divider" /></li>
        <li><a className="waves-effect" href="#!"><i className="material-icons">add</i>Create new survey</a></li>
        <li><a className="waves-effect" href="#!"><i className="material-icons">settings</i>Options</a></li>
        <li><a className="waves-effect" href="#!"><i className="material-icons">chat</i>Support</a></li>
      </ul>
  );


React.render(
  mainpage_buttons,
  document.getElementById('menu')
);
React.render(
  mainpage_sidenav,
  document.getElementById('sidebar')
);

//Query for NavBar
$('.btn-floating').sideNav({
      menuWidth: 300, // Default is 240
      edge: 'left', // Choose the horizontal origin
      closeOnClick: true
    }
);


index.html

<div id = "menu"></div>
<div id = "sidebar"></div>


它所做的只是显示一个空白屏幕。

大多数遇到类似问题的人只需将class属性更改为className。我通过this转换器输入了HTML语法,所以这当然不是问题。

最佳答案

该错误绝对是因为className的变量名不正确。您代码中的一半是classname而不是className。正确的大小写可解决此问题。

10-05 21:02
查看更多