Ниже приведен мой код. App.js - это корневой файл, about.js - это файл, отображающий только некоторый текст, а index.js обрабатывает все маршруты с помощью реактора-ретранслятора. Я хочу сделать свой about.js в app.js. Он не отображается, если я не пишу "this.props.children" в app.js.
App.js - корневой файл, который отображает все дочерние компоненты внутри него.
"use strict";
import React from 'react';
import { Link } from 'react-router';
class App extends React.Component {
render() {
console.log(this.props.children)
return(
<div>
<h1>Hello !</h1>
<Link to="about">About</Link>
{this.props.children} **//Is this necessary?**
</div>
)
}
}
export default App;
About.js
"use strict";
import React from 'react';
class About extends React.Component {
render() {
return(
<div>
<h1>About page!</h1>
</div>
)
}
}
export default About;
Index.js - Файл, обрабатывающий маршруты
import React from 'react';
import { render } from 'react-dom';
import { Router, Route, Link, browserHistory } from 'react-router'
/*Require own custom files*/
import App from './app';
import About from './about';
render((
<Router history={browserHistory}>
<Route path="/" component={App}>
<Route path="about" component={About}/>
</Route>
</Router>
), document.getElementById('app'))
Я работаю в React 0.14 с ecma6. Чтобы использовать "реактивный маршрутизатор", нужно ли писать "this.props.children" в корневом компоненте? Если да, то почему? Есть ли другой способ реализовать "реактивный маршрутизатор"?