Reactjs 使用最新版本对未渲染的组件进行反应
我的react组件没有渲染,所以我怀疑很多事情,直到我注意到它只适用于较旧的react版本:Reactjs 使用最新版本对未渲染的组件进行反应,reactjs,webpack,babeljs,Reactjs,Webpack,Babeljs,我的react组件没有渲染,所以我怀疑很多事情,直到我注意到它只适用于较旧的react版本: npm install --save react@0.14.7 组件未使用最新的React(版本16)进行渲染 要使React 16起作用,应该更改哪些内容 webpack.config.js: module.exports = { entry: "./app-client.js", output: { filename: "public/bundle.js"
npm install --save react@0.14.7
组件未使用最新的React(版本16)进行渲染
要使React 16起作用,应该更改哪些内容
webpack.config.js:
module.exports = {
entry: "./app-client.js",
output: {
filename: "public/bundle.js"
},
module: {
loaders: [
{
exclude: /(node_modules|app-server.js)/,
loader: 'babel-loader'
}
]
}
};
.babel.rc:
{
"presets": [
["es2015"],
"react"
],
"plugins": [
"babel-plugin-transform-class-properties"
]
}
app-client.js:
var React = require('react');
var APP = require('./components/APP');
React.render(<APP />, document.getElementById('react-container'));
组件/APP.js:
var React = require('react');
var APP = React.createClass({
render() {
return (<h1>Hello World form React</h1>);
}
});
module.exports = APP;
var React=require('React');
var APP=React.createClass({
render(){
return(helloworld形式React);
}
});
module.exports=APP;
React.createClass
长期以来被弃用。我的猜测是,自16.0版()
因此,既然您询问了如何解决此问题,那么以下是选项:
- 坚持使用<16.0的版本(我不建议这样做)
- 使用
package(我也不建议这样做)createreact类
- 迁移到
组件(我认为这是最好的选择)类
React.createClass
长期以来被弃用。我的猜测是,自16.0版()
因此,既然您询问了如何解决此问题,那么以下是选项:
- 坚持使用<16.0的版本(我不建议这样做)
- 使用
package(我也不建议这样做)createreact类
- 迁移到
组件(我认为这是最好的选择)类
React.creaateClass
现在作为一个单独的包提供,React create class
。这就是为什么您认为代码很可能不起作用
另外,您必须使用React.render
,而不是React.render
,根据,React.creaateClass
现在作为一个单独的包React create class
提供。这就是为什么您认为代码很可能不起作用
另外,您必须使用React.render
,而不是ReactDOM.render
解决方案是使用“创建React类”(感谢@pwolaq和@Victor),并使用ReactDOM而不是React进行渲染:
APP.js:
var React = require('react');
var createReactClass = require('create-react-class');
var io = require('socket.io-client');
//var APP = React.createClass({
var APP = createReactClass({
render() {
return(<h1>Hello World from React</h1>);
}
});
module.exports = APP;
var React=require('React');
var createReactClass=require('create-react-class');
var io=require('socket.io客户端');
//var APP=React.createClass({
var APP=createReactClass({
render(){
返回(来自React的Hello World);
}
});
module.exports=APP;
app-client.js:
var React = require('react');
var ReactDOM = require('react-dom');
var APP = require('./components/APP');
//React.render(<APP />, document.getElementById('react-container'));
ReactDOM.render(<APP />, document.getElementById('react-container'));
var React=require('React');
var ReactDOM=require('react-dom');
var-APP=require('./组件/APP');
//React.render(,document.getElementById('React-container');
render(,document.getElementById('react-container');
解决方案是使用“创建react类”(感谢@pwolaq和@Victor),并使用ReactDOM而不是react进行渲染:
APP.js:
var React = require('react');
var createReactClass = require('create-react-class');
var io = require('socket.io-client');
//var APP = React.createClass({
var APP = createReactClass({
render() {
return(<h1>Hello World from React</h1>);
}
});
module.exports = APP;
var React=require('React');
var createReactClass=require('create-react-class');
var io=require('socket.io客户端');
//var APP=React.createClass({
var APP=createReactClass({
render(){
返回(来自React的Hello World);
}
});
module.exports=APP;
app-client.js:
var React = require('react');
var ReactDOM = require('react-dom');
var APP = require('./components/APP');
//React.render(<APP />, document.getElementById('react-container'));
ReactDOM.render(<APP />, document.getElementById('react-container'));
var React=require('React');
var ReactDOM=require('react-dom');
var-APP=require('./组件/APP');
//React.render(,document.getElementById('React-container');
render(,document.getElementById('react-container');
I更新了APP.js,但它仍然没有呈现:var ReactCreateClass=require('react-create-class');var APP=ReactCreateClass({render(){return(Hello World from react);}}});module.exports=APP;
请查看我的编辑。(很抱歉格式不好。免责声明:我已经在手机上写了这个。我一到电脑前就会更新格式)我更新了APP.js,但它仍然没有呈现:var ReactCreateClass=require('react-create-class');var APP=ReactCreateClass({render(){return(Hello World from react);});module.exports=APP;
请查看我的编辑。(很抱歉格式不好。免责声明:我已经在手机上写了这篇文章。我一到电脑前就会更新格式)请参阅下面的评论。另外,您能否举一个“迁移到类组件”的示例?首先,它是create react class
,而不是react create class
;然后,在将其与create react class一起使用之前,您需要执行npm安装。不是rendered@trogne也许这会对您有所帮助:如果我在app-client.js中使用ReactDOM:ReactDOM.render(,document.getElementById('react-container'),它会起作用
请参见下面的注释。另外,您能举一个“迁移到类组件”的例子吗?首先,它是create react class
,而不是react create class
;然后,在将其与create react class一起使用之前,您需要执行npm安装。不是rendered@trogne也许这会对您有所帮助:如果我在app-client.js中使用ReactDOM:ReactDOM.render(,document.getElementById('react-container'),它会起作用;