2017-12-26 8 views
0

Google 일일 연습과 스크립트를 사용하여 react.js를 web-app의 클라이언트 측에 연결하려고 시도했습니다.
react.js를 require.js를 사용하여 연결할 수 있었지만 요점은 jsx를 사용할 수 없다는 것입니다. 구성 요소를 만들고 렌더링하려면 vanila javascript를 사용해야합니다.
내가 첫 번째 요소를 만들려고 해요ES3 만 사용하여 입력이있는 반응 구성 요소 만들기

requirejs.config({ 
    // module name mapped to CDN url 
    paths: { 
     // Require.js appends `.js` extension for you 
     'react': 'https://unpkg.com/[email protected]/dist/react', 
     'react-dom': 'https://unpkg.com/[email protected]/dist/react-dom' 
    } 
}); 

requirejs(['react', 'react-dom'], function(React, ReactDOM) { 
    var app, cr, r_comp, el, app; 
    cr = React.createElement; 
    r_comp = new React.Component(); 
    el = []; 
    el[0] = React.createElement('button', { 
     type: 'submit', 
     className: 'postfix', 
     disabled: false 
    }, 'Automate'); 
    el[1] = React.createElement('input', { placeholder: 'Enter a url', type: 'url', autoFocus: true }, 'default_url') 

    app = document.getElementById('app'); 
    ReactDOM.render(el[1], app); 

}); 

(엘 [0]) 잘 작동하고, 버튼을 enter image description here 을 표시하지만 두 번째 요소 만들려고 할 때 - 입력, 그것으로 respones 그 오류를 인터넷 검색 오류

"react.js:20145 Uncaught Error: input is a void element tag and must neither have children nor use dangerouslySetInnerHTML ."

enter image description here 나는이 사건에 대한 유용한 정보를 발견하지 않았거나 내가 오류를 극복하기 위해 변경해야하는지 이해하는 것이 아니라 충분히 반응을 이해하지 않습니다. 도와주세요.

답변

0

당신이 default_url 입력 이름

el[1] = React.createElement('input', { 
    placeholder: 'Enter a url', 
    type: 'url', autoFocus: true, 
    name: 'default_url' 
} 
/*, no children*/); 
+0

아, 사람이되고 싶어요 가정! 그게 효과가있어! 물건을 안다면 정말 간단합니다. –