1、错误描述
react.js:20157 Uncaught Invariant Violation: _registerComponent(...): Target container is not a DOM element.
2、错误原因
<script> var ea = React.createClass({ render: function() { var elapsed = Math.round(this.props.elapsed / 100); var seconds = elapsed / 10 + (elapsed % 10 ? '' : '.0' ); var message = '开始计时:' + seconds + ' 秒'; return React.DOM.p(null,message); } }); var eaf = React.createFactory(ea); var timer = document.getElementById('timer'); var startTime = new Date().getTime(); setInterval(function() { ReactDOM.render( eaf({elapsed: new Date().getTime() - startTime}),timer ); },1000); </script>在定时器中需要获取div容器对象,这里利用变量timer来实现;但是会出现这个错误
3、解决办法
<script> var ea = React.createClass({ render: function() { var elapsed = Math.round(this.props.elapsed / 100); var seconds = elapsed / 10 + (elapsed % 10 ? '' : '.0' ); var message = '开始计时:' + seconds + ' 秒'; return React.DOM.p(null,message); } }); var eaf = React.createFactory(ea); var startTime = new Date().getTime(); setInterval(function() { ReactDOM.render( eaf({elapsed: new Date().getTime() - startTime}),document.getElementById('timer') ); },1000); </script>不利于中间变量timer,直接利用JS获取对象的方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。