简体   繁体   English

{this.props.children}返回null

[英]{this.props.children} returns null

I am studying react js, from this tutorial http://courses.reactjsprogram.com/courses/reactjsfundamentals/lectures/760395 but i keep having the same issue when i try to use this.props.children. 我正在本教程http://courses.reactjsprogram.com/courses/reactjsfundamentals/lectures/760395中学习React js,但是当我尝试使用this.props.children时,我仍然遇到同样的问题。 can anyone tell me what's wrong? 谁能告诉我怎么了?

this is my main.js 这是我的main.js

var React= require('react');
var Main= React.createClass({
    render:function(){
        console.log (this)
        return(
            <div className='main-container'>Hello from main
            {this.props.children}
            </div>
        )
    }
});

module.exports = Main; 

this is my home 这是我的家

 var React = require('react');
 var transparentBG=('../style').transparentBG;
 var ReactRouter=require('react-router');
 var Link = ReactRouter.Link; 

var Home = React.createClass({
   render: function () {
     return (
       <div className='jumbotron col-sm-12 text-center' style={transparentBG}>
       <h1>git hub battle</h1>

       <p className='lead'> Some fancy motto</p>

       <Link to='/playerone'>

            <button type='button' className='btn btn-lg btn-sucess'>
            get started
            </button>
       </Link>

       </div>
     )
   }
 });


module.exports = Home;

and this is my route 这是我的路线

var React= require('react');
var ReactRouter= require('react-router');


var Router=ReactRouter.Router;
var Route=ReactRouter.Route; 
var IndexRoute=ReactRouter.IndexRoute;

var Main=require ('../components/Main');
var Home=require ('../components/Home');
var PromptContainer=require('../container/PromptContainer'); 

var routes=(

    <Router>
        <Route path='/'component={Main}>
        <Route path='/home' component={Home}/>
        </Route>
        <Route path='/'>
            <Route path='playerone' header='player one'component={PromptContainer}/>
            <Route path='playertwo/:playerone' header='player two' component={PromptContainer}/>

            </Route>
    </Router>

);

module.exports = routes;

Your routes should be 您的路线应为

var routes=(

    <Router>
        <Route path='/'component={Main}>
            <Route path='/home' component={Home}/>
            <Route path='playerone' header='player one'component=  {PromptContainer}/>
            <Route path='playertwo/:playerone' header='player two' component={PromptContainer}/>
        </Route>
    </Router>

);

react-router allows you to add IndexRoute . react-router允许您添加IndexRoute

making Home be a first class route component with IndexRoute. 使用IndexRoute使Home成为一流的路由组件。

<Router>
    <Route path='/'component={Main}>
        <IndexRoute component={Home}/>
        <Route path='playerone' header='player one'component=  {PromptContainer}/>
        <Route path='playertwo/:playerone' header='player two' component={PromptContainer}/>
    </Route>
</Router>

Now can render {this.props.children} 现在可以渲染{this.props.children}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM