react.js:20157 Uncaught Invariant Violation: _registerComponent(...): Target container is not a DOM

1581 단어
1. 오류 설명
react.js:20157 Uncaught Invariant Violation: _registerComponent(...): Target container is not a DOM element.

2. 오류 원인

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);
		
타이머에서 div 용기 대상을 받아야 하는데 여기는 변수timer를 이용하여 실현한다.그런데 이게 오류가 나요.
3. 해결 방법

			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);
		
중간 변수 timer에 불리하고 JS를 직접 이용하여 대상을 얻는 방법

좋은 웹페이지 즐겨찾기