[React] React Router: Named Components

本文将指导您了解如何通过定义命名组件,使用React Router库从单一路由渲染多个组件子元素,包括头部和主体部分。通过实例演示了如何创建组件并配置路由以实现这一功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

In this lesson we'll learn how to render multiple component children from a single route.

 

Define a named component by "components":

<Route path="/other" components={ {header: Other, body: OtherBody}}></Route>

'header' and 'body' are the key.

 

Render:

const Container = (props) => <div>{props.header}{props.body}<Links /></div>;

 

------------------

import React from 'react';
import {hashHistory, Route, Router, Link, IndexRoute} from 'react-router';

const Home = () => <h1>Home</h1>;
const HomeBody = () => <h3>HomeBody</h3>;
const Other = () => <h1>Other</h1>;
const OtherBody = () => <h3>OtherBody</h3>;

const Container = (props) => <div>{props.header}{props.body}<Links /></div>;

const Links = () =>
    <nav >
        <Link to="/">Home</Link>
        <Link to="/other">Other</Link>
    </nav>;

class App extends React.Component {
    render(){
        return(
            <Router history={hashHistory}>
                <Route path="/" component={Container}>
                    <IndexRoute components={ {header: Home, body: HomeBody} }></IndexRoute>
                    <Route path="/other" components={ {header: Other, body: OtherBody}}></Route>
                </Route>
            </Router>
        );
    }
}

export default App;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值