在遵循构建简单应用程序的React教程之后,我收到了这个奇怪的消息。 http://blog.revathskumar.com/2014/05/getting-started-with-react.html
我使用bower来安装react并包含这样的脚本:
<script src="bower_components/react/react.js"></script>
<script src="bower_components/react/JSXTransformer.js"></script>
如教程中所示。 起初我以为脚本没有加载,但显然不是这样。 有什么问题?
答案 0 :(得分:23)
现在是
ReactDOM.render(
并包含源文件:
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.0/react-dom.js"></script>
这是来自React的警告:
Warning: React.render is deprecated. Please use ReactDOM.render from require('react-dom') instead.
答案 1 :(得分:17)
bower在本案例版本0.12.0中安装最新版本。
渲染函数约定发生了变化。
https://facebook.github.io/react/blog/2014/10/28/react-v0.12.html
已从我们所有的React.render *方法中删除了组件。
所以使用
React.render(
而不是
React.renderComponent(
答案 2 :(得分:7)
最近&#39; React.render()&#39;折旧因此请使用&#39; ReactDom.render()&#39;
import React from 'react';
import ReactDom from 'react-dom';
import App from './components/App.jsx';
require('./main.scss');
ReactDOM.render(<App />, document.getElementById('container'));
答案 3 :(得分:3)
我有同样的问题;我精确地遵循了教程,我遇到了同样的错误。
这些是为了让它发挥作用我需要做出的改变......
npm install --save react-dom
更改了index.jsx
内容:
/** @jsx React.DOM */
'use strict'
var ReactDOM = require('react-dom')
var Hello = require('./Hello')
ReactDOM.render(<Hello />, document.getElementById('content'))
这就搞定了
我很反应,所以这可能不是最好的解决方案,但现在是我的。
编辑:我后来发现了另一个更近期的演练(可行) https://www.twilio.com/blog/2015/08/setting-up-react-for-es6-with-webpack-and-babel-2.html
答案 4 :(得分:1)
以下是供您参考的完整脚本
<div id="target-container"></div>
<script src="build/react.js"></script>
<script src="build/react-dom.js"></script>
<script src="build/browser.min.js"></script>
<script type="text/babel">
var MyComponent = React.createClass({
render: function(){
return(
<h1>Sample text</h1>
);
}
});
ReactDOM.render(
<MyComponent/>,
document.getElementById('target-container')
);
</script>
答案 5 :(得分:0)
你应该写ReactDOM.render
,而不是React.render
。
https://cdnjs.cloudflare.com/ajax/libs/react/0.14.0/react.js
https://cdnjs.cloudflare.com/ajax/libs/react/0.14.0/react-dom.js
https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.min.js
这三个javascript是必需的