首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ReactJS:路由配置问题

ReactJS:路由配置问题
EN

Stack Overflow用户
提问于 2017-01-30 10:09:38
回答 1查看 435关注 0票数 1

我是新的反应和做一些样例应用程序。我正在查看"react-router“上的概念,并介绍了一个例子。

AppHeader.jsx

代码语言:javascript
复制
 import React from 'react';
 import Router from 'react-router';  
 import { Link, Route, RouteHandler } from 'react-router';

 class AppHeader extends React.Component{

  render(){
      return (
            <div>
                <div className="header">
                        <ul>
                        <li><Link to="home">Home</Link></li>    
                        <li><Link to="fundamentals">React-Fundamentals</Link></li>
                            <li><Link to="components">React-Components</Link></li>
                            <li><Link to="flux">React-Flux</Link></li>
                            <li><Link to="babel">React-Babel</Link></li>
                        </ul>
                        <div className="crede-menu">
                                <li><Link to="register">Register</Link></li>
                                <li><Link to="login">Login</Link></li>
                        </div>
                       </div>

                          <center>
                              <RouteHandler></RouteHandler>
                          </center>

                          <div className="footer">
                          <p><center>!copy rights reserved @ 2016</center></p>
                 </div>
            </div>
      )
    }

 }
 export default AppHeader;

app.js

代码语言:javascript
复制
 import React from 'react';
 import ReactDOM from 'react-dom';
 import Router from 'react-router/lib/Router';
 import browserHistory from 'react-router/lib/browserHistory';
 import Link from 'react-router/lib/Link';
 import Route from 'react-router/lib/Route';
 import AppHeader from '../jsx/header.jsx';
 import Home from '../jsx/home.jsx';
 import Fundamentals from '../jsx/fundamentals.jsx';
 import Components from '../jsx/components.jsx';
 import Flux from '../jsx/flux.jsx';
 import Babel from '../jsx/babel.jsx';
 import Register from '../jsx/register.jsx';
 import Login from '../jsx/login.jsx';
 var DefaultRoute = Router.DefaultRoute;
 var RouteHandler = Router.RouteHandler;


 var routes = (
     <Route component={AppHeader}>
       <Route path="/" component={Home} />
        <Route path="register" component={Register} />
        <Route path="login" component={Login}/>
        <Route path="fundamentals" component={Fundamentals}/> 
        <Route path="components" component={Components}/>
        <Route path="flux" component={Flux}/>
        <Route path="babel" component={Babel}/>
     </Route>
   );

 /*running the routes*/
  ReactDOM.render(<Router routes={routes} history={browserHistory} />, document.getElementById('reactApp')) 

请帮我任何错误,here.when,我运行我的例子,我得到错误如下。

代码语言:javascript
复制
 Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in. Check the render method of `AppHeader`.

未定义错误:元素类型无效:期望字符串(用于内置组件)或类/函数(用于组合组件),但未定义。您可能忘记从定义在其中的文件中导出组件。检查AppHeader的呈现方法。

EN

回答 1

Stack Overflow用户

发布于 2017-01-30 10:55:23

我也有同样的问题: React.createElement: type无效--需要一个字符串(用于内置组件)或一个类/函数(用于复合组件),但got: undefined。您可能忘记从定义在其中的文件中导出组件。

代码语言:javascript
复制
var React = require('react');
var ReactDOM = require('react-dom');
var Router = require('react-router').Router;
var Route = require('react-router').Route;

var Home = React.createClass({
    render: function(){
        return (
            <div>Welcome !</div>
        );
    }
});

ReactDOM.render((
    <Router>
        <Route path="/" component={Home} />
    </Router>  
), document.getElementById('root'));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41933282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档