仍然很難簡單地運行簡單的反應應用程序(只是客戶端來玩)。React.createElement:類型在簡單的空應用程序中無效
打造的是OK(你可以看到配置here, previous question)
當我運行服務器 - 有對客戶端的錯誤:
Uncaught Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object. You likely forgot to export your component from the file it's defined in.
at invariant (transformed.js:304) at ReactCompositeComponentWrapper.instantiateReactComponent [as _instantiateReactComponent] (transformed.js:11912) at ReactCompositeComponentWrapper.performInitialMount (transformed.js:27510) at ReactCompositeComponentWrapper.mountComponent (transformed.js:27401) at Object.mountComponent (transformed.js:4158) at mountComponentIntoNode (transformed.js:12676) at ReactReconcileTransaction.perform (transformed.js:5756) at batchedMountComponentIntoNode (transformed.js:12698) at ReactDefaultBatchingStrategyTransaction.perform (transformed.js:5756) at Object.batchedUpdates (transformed.js:29031)
下面是代碼:
指數。 js
var React = require('react');
var ReactDOM = require('react-dom');
var App = require('./components/App.js');
ReactDOM.render(
<App />,
document.getElementById('app')
);
的index.html
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test</title>
</head>
<body>
<div id='app'></div>
</body>
</html>
App.js:
import React from 'react';
import ReactDOM from 'react-dom';
// import {render} from 'react-dom'; //didn't helped either
class App extends React.Component {
render() {
return (
<div>
<p> Hello React!</p>
</div>
);
}
}
FYI:
答案是正確的,但也有一點。 不要忘記更改所有require
上import
,像這裏(index.js
):
import React from 'react';
import ReactDOM from 'react-dom';
import App from './components/App.js';
wellp,我真的不習慣在ES6風格寫,強迫自己做 – DanilGholtsman
thx順便說一句,我會盡量改變和檢查 – DanilGholtsman
nope,錯誤仍然存在 – DanilGholtsman