加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

react.js:20157 Uncaught Invariant Violation: _registerCompon

发布时间:2020-12-15 08:27:20 所属栏目:百科 来源:网络整理
导读:1、错误描述 react.js:20157 Uncaught Invariant Violation: _registerComponent(...): Target container is not a DOM element. 2、错误原因 scriptvar ea = React.createClass({ render: function() { var elapsed = Math.round(this.props.elapsed / 100)

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获取对象的方法

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读