Javascript React.createElement:类型无效-应为字符串(对于内置组件)或类/函数(对于复合组件),但Get:未定义
我有一个简单的路由程序,给出了标题中提到的错误。下面是我的代码 App.jsJavascript React.createElement:类型无效-应为字符串(对于内置组件)或类/函数(对于复合组件),但Get:未定义,javascript,reactjs,react-native,react-router,Javascript,Reactjs,React Native,React Router,我有一个简单的路由程序,给出了标题中提到的错误。下面是我的代码 App.js import React from 'react'; class App extends React.Component { render() { return ( <div> <h2>hello</h2> {this.props.children}
import React from 'react';
class App extends React.Component {
render() {
return (
<div>
<h2>hello</h2>
{this.props.children}
</div>
);
}
}
export default App;
从“React”导入React;
类应用程序扩展了React.Component{
render(){
返回(
你好
{this.props.children}
);
}
}
导出默认应用程序;
home.js
import React from 'react';
export default class Home extends React.Component {
render() {
return (
<h1>Hello World!</h1>
)
}
}
从“React”导入React;
导出默认类Home扩展React.Component{
render(){
返回(
你好,世界!
)
}
}
main.js
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter as Router, Route, IndexRoute } from 'react-router-dom';
import Home from './components/home';
import App from './app';
ReactDOM.render(
<Router>
<Route path="/" component={App}>
<IndexRoute component={Home} />
</Route>
</Router>,
document.getElementById('app')
);
从“React”导入React;
从“react dom”导入react dom;
从“react Router dom”导入{BrowserRouter as Router,Route,IndexRoute};
从“./components/Home”导入Home;
从“./App”导入应用程序;
ReactDOM.render(
,
document.getElementById('app')
);
它正在打印hello(来自app.js)您的
app
组件没有子组件,因此无需尝试渲染它们。它基本上会使您尝试渲染未定义的
。因此,基本上只需删除该行:
class App extends React.Component {
render() {
return (
<div>
<h2>hello</h2>
</div>
);
}
}
类应用程序扩展了React.Component{
render(){
返回(
你好
);
}
}
尝试将其添加到主文件中
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter as Router, Route, IndexRoute } from 'react-router-dom';
import Home from './components/home';
import App from './app';
ReactDOM.render(
<Router>
<div>
<App />
<Route exact path="/" component={Home} />
</div>
</Router>,
document.getElementById('app')
);
从“React”导入React;
从“react dom”导入react dom;
从“react Router dom”导入{BrowserRouter as Router,Route,IndexRoute};
从“./components/Home”导入Home;
从“./App”导入应用程序;
ReactDOM.render(
,
document.getElementById('app')
);
您是否有其他错误信息。定义了什么组件?它表示子组件未定义。基本上我觉得它说home.js是未定义的。IndexRoute不是react router v4中的组件。谢谢。它起作用了。但是,如果链接变大,你能评论一下这将如何发展吗。说like/home/page/something/:像这样的人。