开发者问题收集

React JS 无法读取未定义的属性“keys”

2016-04-14
2921

我开始通过教程学习 React,但是在运行我创建的代码时遇到了这个错误。

这个错误似乎与语言框架有关。也许与我为翻译导入的 Babel 版本有关。

有人知道实际情况以及如何找到解决方案吗?

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <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.js"></script>
    <title>ReactJs</title>
</head>
<body>
    <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.body);
    </script>
</body>
</html>
3个回答

我不确定您是否已经找到结果,但我遇到了同样的错误,并发现这是 cdn 版本不匹配的问题。

如果您使用这些 cdn:

<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.3/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.29/browser.js"></script>

并将您的

ReactDOM.render(<HelloWorld/>, document.body);

更改为

React.render(<HelloWorld/>, document.body);

它现在就可以工作了。

ThinkTankShark
2016-06-11

babel-browser 被弃用。使用 babel-standalone 而不是:

010224425
Xuan
2017-07-10

React.render 自 React 0.14(2015 年 10 月 7 日发布)起已被弃用:

https://facebook.github.io/react/blog/2015/10/07/react-v0.14.html

我强烈推荐 Facebook 提供的出色的 Create React App NPM 模块,它无需任何配置即可创建 React 应用程序,但仍使用最新的 ES6 和 Babel 功能。此外,它还具有开箱即用的热重载功能,并具有构建选项,用于创建可用于生产的最小化、捆绑的 .js 文件。

https://github.com/facebookincubator/create-react-app

Jannik
2016-12-08