2017-03-29 3 views
-1

React.js와 R & D가 새로 추가되었습니다. React 0.14.X 버전은 IE 8 브라우저를 지원합니다. Babel (JSX Transformer) Browser.js는 IE8 브라우저에서 작동하지 않습니다. IE 8 브라우저와 관련하여 콘솔에 오류가 없습니다. IE 8을 지원하는 JSX로 React js의 전체 아키텍처를 제안하십시오.React JS로 IE 8과 JS6 및 ES6 지원을받을 수있는 방법이 있습니까

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <title>My First React Example</title> 
    </head> 
    <body> 
    <div id="react-app"></div> 

    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.8/react.min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.8/react-dom.min.js"></script> 


    <script> 
    var contacts = [ 
       {key: 1, name: "Anurag Dadheech", email: "[email protected]", description: "This is descrption"}, 
       {key: 2, name: "Priyank Soni", email: "[email protected]"}, 
       {key: 3, name: "Jayesh Helaiya", email: "[email protected]"}, 
      ] 

      var ContactItem = React.createClass({ 
       propTypes: { 
       name: React.PropTypes.string.isRequired, 
       email: React.PropTypes.string.isRequired, 
       description: React.PropTypes.string, 
       }, 

       render: function() { 
       // I wrap mult-line return statements in parentheses to avoid the 
       // inevitable bugs caused by forgetting that JavaScript will throw away 
       // the final lines when possible. The parentheses are not strictly 
       // necessary. 
       return (
        React.createElement('li', {}, 
        React.createElement('h2', {}, this.props.name), 
        React.createElement('a', {href: 'mailto:'+this.props.email}, this.props.email), 
        React.createElement('div', {}, this.props.description) 
       ) 
       ) 
       }, 
      }) 

      var contactItemElements = contacts 
       .filter(function(contact) { return contact.email }) 
       .map(function(contact) { return React.createElement(ContactItem, contact) }) 

      var rootElement = 
       React.createElement('div', {}, 
       React.createElement('h1', {}, "Contacts"), 
       React.createElement('ul', {}, contactItemElements) 
      ) 

      ReactDOM.render(rootElement, document.getElementById('react-app')) 
    </script> 
    </body> 
</html> 

그것은 크롬과 파이어 폭스에서 잘 작동하지만 IE 8은

__SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED' is null or not and object 
+1

정확한 오류를 알려주십시오. 또한 무엇을 사용하고 있습니까, webapck, browserify, Grunt? 설정 파일을 볼 수 있습니까? 감사합니다 –

+0

사실 우리는 프로젝트 작업을 시작하지는 않았지만 모든 측면이 IE 8에서 작동하는지 확인하기 위해 데모 앱을 만들었습니다. –

+0

@Stelios Voskos 코드를 게시했습니다. 오류를 제안하십시오. –

답변

0

은 JS 커뮤니티 반응 준다 그들이 0.14.x에 대한 IE8 지원을 제공하지만, 유틸리티의 대부분이 그래서 IE8에서 작동하지 않습니다 말한다 angularjs 1.2.x를 사용하면 좋습니다. IE8과 관련하여 많은 지원이 있습니다. 너는 결코 후회하지 않을 것이다.

관련 문제