反应渲染不能与getElementById一起使用

时间:2017-06-05 22:09:00

标签: reactjs

为什么第一个渲染工作但不是第二个?

// load react library
var React = require('react');
var ReactDOM = require('react-dom');

//build first component
/* 
   StorePicker
*/
var StorePicker = React.createClass({

    render : function(){
        return (
            <div>
              <p>&nbsp;</p>
              <p>hi</p>
              <p>and this is another</p>
            </div>
        )
    }
})


ReactDOM.render(<StorePicker/>,document.querySelector('#main'));

ReactDOM.render(<StorePicker/>,document.getElementById('#main'));

我得到的错误是:

Uncaught Error: Invariant Violation: _registerComponent(...): Target container is not a DOM element.

这没有任何意义,因为它适用于第一种情况

1 个答案:

答案 0 :(得分:3)

getElementById使用不带#前缀的ID作为参数。尝试:

ReactDOM.render(<StorePicker/>, document.getElementById('main'));