【发布时间】:2016-11-11 19:58:29
【问题描述】:
我的一条路线需要两个孩子来完成我想做的事情。
我定义所有路由的主应用页面可能如下所示:
<Route path="/logs" component={Logs}>
<Route path="/logs/archive(/**)" component={ArchiveAction}></Route>
<Route path="/logs/view(/**)" component={LogApp}></Route>
</Route>
至于 Logs 组件,如果我在 /logs/view/whatever 路由,它将呈现名为 LogApp 的组件,它将是整个页面。
如果它位于 /logs/archive/whatever Logs 的一个子组件上,那么它会发生什么变化。但这部分工作正常。我不能去工作的是/logs/view/whatever。这是我当前的日志组件:
export class Logs extends Component{
render(){
var initialLogsPage =(<Grid>
<Row>
<Col lg={4} md={4} sm={4}>
<Directories/>
</Col>
<Col lg={4} md={4} sm={4}>
<Archives children={this.props.children}/>
</Col>
</Row>
</Grid>);
return(
<div>
{initialLogsPage || this.props.children}
</div>
);
}
}
我知道我对 this.props.children 的使用可能是问题所在,因为我正在处理两个问题。有没有办法解决这个问题?
【问题讨论】:
-
这将始终显示
initalLogsPage渲染。 -
我知道。我该怎么做才能让它显示 LogApp 组件?
-
我真的不太了解 React 来提供帮助,但你能尝试交换这些变量吗?
{this.props.children || initialLogsPage} -
恐怕没有用 :( 不过谢谢!
标签: javascript reactjs react-router react-router-component