好客租房94-路由的执行过程
路由的执行过程
1点击link组件 修改了浏览器地址中的url
2react路由监听到地址栏url的变化
3react路由内部遍历所有Route组件 使用路由规则path域pathname进行匹配
4挡路由规则能够匹配地址栏中pathname的时候 就开始展示组件的内容
//导入react
import React from 'react'
import ReactDOM from 'react-dom'
import {BrowserRouter as Router,Route,Link} from "react-router-dom"
//导入组件
// 约定1:类组件必须以大写字母开头
// 约定2:类组件应该继承react.component父类 从中可以使用父类的方法和属性
// 约定3:组件必须提供render方法
// 约定4:render方法必须有返回值
const Frist=()=>(
<p>页面1的内容</p>
)
const Home=()=>(
<p>页面2的内容</p>
)
class App extends React.Component {
//render方法的调用并不意味着浏览器的重新调用
render() {
return (
<Router>
<div>
<h1>React路由基础</h1>
{/* 指定路由入口 */}
<Link to="/first">页面1</Link>
<Link to="/home">页面2</Link>
{/* 指定路由出口 */}
<Route path="/first" component={Frist}></Route>
<Route path="/home" component={Home}></Route>
</div>
</Router>
)
}
}
ReactDOM.render(<App></App>, document.getElementById('root'))
运行结果