Javascript 如何解决错误';警告:React.createElement:类型不应为null,React中未定义?
我是reactjs新手,尝试通过中的教程实现reactjs应用程序。当我读到本教程的中间部分时,我在运行Javascript 如何解决错误';警告:React.createElement:类型不应为null,React中未定义?,javascript,reactjs,Javascript,Reactjs,我是reactjs新手,尝试通过中的教程实现reactjs应用程序。当我读到本教程的中间部分时,我在运行npm run test时收到了错误 app.js: import React from 'react' import ReactDOM from 'react-dom' import 'font-awesome/css/font-awesome.css' import App from 'containers/App/App' import './app.css' import {
npm run test
时收到了错误
app.js:
import React from 'react'
import ReactDOM from 'react-dom'
import 'font-awesome/css/font-awesome.css'
import App from 'containers/App/App'
import './app.css'
import {browserHistory, Router, Route} from 'react-router'
const Home = React.createClass({
render: function() {
return (<div>Hello world</div>)
}
})
const routes = (
<Router>
<Route path="/" component={Home} />
</Router>
)
const mountNode = document.querySelector('#root');
ReactDOM.render(
<App history={browserHistory} />, mountNode);
从“React”导入React
从“react dom”导入react dom
导入'font-awesome/css/font-awesome.css'
从“容器/应用程序/应用程序”导入应用程序
导入“./app.css”
从“react Router”导入{browserHistory,Router,Route}
const Home=React.createClass({
render:function(){
返回(你好,世界)
}
})
常数路由=(
)
const mountNode=document.querySelector('#root');
ReactDOM.render(
您没有导出应用程序的组件
换成
import React, { PropTypes } from 'react';
import ReactDOM from 'react-dom'
import { Router } from 'react-router';
export default class App extends React.Component {
static propTypes = {
routes: PropTypes.object.isRequired,
history: PropTypes.object.isRequired
}
get content() {
return (
<Router routes={this.props.routes} history={this.props.history} />
)
}
render() {
return (
<div style={ { height: '100%' } }> {this.content} </div>
)
}
}
import React,{PropTypes}来自'React';
从“react dom”导入react dom
从“react Router”导入{Router};
导出默认类App扩展React.Component{
静态propTypes={
路由:PropTypes.object.isRequired,
历史记录:PropTypes.object.isRequired
}
获取内容(){
返回(
)
}
render(){
报税表(
{this.content}
)
}
}
请注意导出关键字。你的组件容器/App文件夹中有三个文件。App.js、App.spec.js、styles.module.css和App.js如下:导入React,{PropTypes}来自'React';导入ReactDOM来自'React dom'导入{Router}从'react router';类应用程序扩展react.Component{static propTypes={routes:propTypes.object.isRequired,history:propTypes.object.isRequired}获取内容(){return()}呈现(){return({this.content}}}你有两个app.js文件吗?我想你没有导出你的应用程序组件,这就是问题所在。我在发帖时错了代码导出默认应用程序;。它存在于实际代码中。在我的代码底部有导出默认应用程序;。我也按照你的建议进行了更改。但问题仍然存在
import React, { PropTypes } from 'react';
import ReactDOM from 'react-dom'
import { Router } from 'react-router';
export default class App extends React.Component {
static propTypes = {
routes: PropTypes.object.isRequired,
history: PropTypes.object.isRequired
}
get content() {
return (
<Router routes={this.props.routes} history={this.props.history} />
)
}
render() {
return (
<div style={ { height: '100%' } }> {this.content} </div>
)
}
}