我正在通过教程学习reactjs并遇到此错误。那就是“无法读取未定义的属性’keys’”。我的代码非常少,因此我认为它与语言的结构有关。有谁知道这个问题和可能的解决方案?
<!DOCTYPE html> <html> <head> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.0.1/react.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.0.1/react-dom.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/6.1.19/browser.min.js"></script> <title>ReactJs</title> </head> <body> <div id="app"></div> <script type="text/babel"> var HelloWorld = ReactDOM.createClass({ render: function() { return <div> <h1>Hello World</h1> <p>This is some text></p> </div> } }); ReactDOM.render( <HelloWorld />, document.getElementById('app')); </script> </body> </html>
编辑:奇怪的是,在我们上面的评论之后,我检查了一下它是否确实是babel核心版本,我在小提琴中使用了这个版本:
https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js
我在上面第二个切换到您的版本时得到以下信息:
Uncaught TypeError: Cannot read property 'keys' of undefined
使用React.createClassnot ReactDOM.createClass并在括号中包裹多行html,如下所示:
React.createClass
ReactDOM.createClass
工作示例:https : //jsfiddle.net/69z2wepo/38998/
var Hello = React.createClass({ render: function() { return ( <div> <h1>Hello World</h1> <p>This is some text</p> </div> ) } }); ReactDOM.render( <Hello name="World" />, document.getElementById('container') );