React.js和R& S的新手D在google上发现React 0.14.X版本支持IE 8浏览器。但Babel的(JSX Transformer)Browser.js并不适用于IE8浏览器。在IE 8浏览器中控制台没有错误。请使用支持IE 8的JSX建议React js的整个架构。
<!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: "anurag.dadheech@gmal.com", description: "This is descrption"},
{key: 2, name: "Priyank Soni", email: "priyank.soni@gmai.com"},
{key: 3, name: "Jayesh Helaiya", email: "jayesh@gmal.com"},
]
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>
它在chrome和Firefox中运行良好,但在IE 8中它提供了
__SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED' is null or not and object
答案 0 :(得分:0)
React js社区表示他们为0.14.x提供了IE8支持,但是大多数实用程序都不能在IE8中运行,所以如果你选择angularjs 1.2.x则很好。 IE8有很多支持。你永远不会后悔。