я практикую реагировать
я встретил эту ошибку: Uncaught ReferenceError: ReactDOM is not defined
когда тип ReactDOM.unmountComponentAtNode(document.body)
на хромированной консолиReactDOM.unmountComponentAtNode: Uncaught ReferenceError: ReactDOM не определен
Пожалуйста, помогите мне проверить проблему
Стараюсь код на JSbin и работает хорошо, поэтому я думаю, что это проблема с webpack, но я понятия не имею.
И я замечаю, что есть много способов написать React.render
часть, когда я google, какая разница? какой из них правильный??
React.render(<App name='Vipul' />,document.body);
ReactDOM.render(<App name='Vipul' />,document.body);
React.renderComponents(<App name='Vipul' />,document.body);
Вот мой код:
main.jsx
import React from 'react';
import ReactDOM from 'react-dom';
console.log('Start')
var App = React.createClass({
render: function(){
console.log('render');
return <h1 onClick={this.toggleState}>Hello</h1>
},
componentWillUnmount: function(){
//在console執行 ReactDOM.unmountComponentAtNode(document.body)
console.log('componentWillUnmount');
},
toggleState: function(){
this.setState({status: !this.state.status})
}
});
ReactDOM.render(<App name='Vipul' />,document.body);
webpack.config.js
var WebpackNotifierPlugin = require('webpack-notifier');
module.exports = {
entry: "./src/main.js",
output: {
filename: "./dist/bundle.js"
// filename: "./public/dist/bundle.js"
},
plugins: [
new WebpackNotifierPlugin()
],
module: {
loaders: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: "babel-loader",
query: {
presets: ['es2015', 'react']
}
}
]
},devtool: 'source-map'
};
Спасибо. Японял твою точку зрения. Если я использую '' '' setTimeout (() => { ReactDOM.unmountComponentAtNode (document.getElementById ('приложение'));}, 10000); '' '' в моем коде. Это работает хорошо!!! спасибо – user2492364