通过ReactJS使用MaterializeCSS显示HTML元素

时间:2017-09-18 15:14:23

标签: javascript html reactjs materialize

我试图用ReactJS显示HTML元素。这些HTML元素使用 MaterialiseCSS 。当我在“常规”中单独加载元素时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。我将我的HTML语法放在this转换器中,因此肯定不是问题。

1 个答案:

答案 0 :(得分:1)

错误绝对是className的变量名称不正确。代码中有一半是classname而不是className。正确的大写可以解决问题。