我的第一个全栈 Web 应用程序( 七 )
凡事都有解决的办法 , 对于这个问题 , 我们可以使用react-router库 。 它有许多功能 , 其中包括:
URL显示用户的当前位置 , 而不仅仅是显示根页面的URL
用户可以使用浏览器的前进和后退按钮
用户可以在地址栏中输入URL , 跳转到指定页面
下面以 CitiesContainer 为例来介绍路由的工作方式:
App.jsimportReact from 'react' ; import {Route from 'react-router-dom' ; import CitiesContainer from './containers/CitiesContainer' ; class CitiesContainer extends React . Component { render(){ return ( Routepath= '/cities' component={CitiesContainer/ ) export default App;这里使用了 path 而不是 exact path , 因此所有包含 /cities 的路径都会被处理 。 CitiesContainer 容器的内部如下:
containers/CitiesContainer.js import React from 'react' ; import {connect from 'react-redux' ; import {Route from 'react-router-dom' ; import {fetchCities from '../actions/fetchCities' ; import CitiesList from '../components/CitiesList' ; import CityPage from '../components/CityPage' ; import BicyclesList from '../components/BicyclesList' ; class CitiesContainer extends React . Component { componentDidMount(){ this .props.fetchCities() render(){ return ( div Routeexactpath= '/cities' render={()=CitiesList cities={ this .props.cities // Routeexactpath= '/cities/:id' render={(routerProps)= CityPage{...routerPropscities={ this .props.cities // Routepath= '/cities/:id/bicycles' render={(routerProps)= BicyclesList{...routerPropscities={ this .props.cities // /div ) constmapStateToProps=state={ return { cities:state.cities export default connect(mapStateToProps{fetchCities)(CitiesContainer)推荐阅读
- 手机游戏|LOL手游第一个世界赛,破晓杯火热开战,DKG能紧随EDG夺冠吗?
- 我的世界|《我的世界》领衔!推荐9款低配置、超耐玩的游戏神作
- 我的世界|我的世界:主世界玩腻了?赶紧把这几个模组加入下载行列!
- 我的世界|我的世界:这些莫名其妙的设定,看起来不合理,实际却是彩蛋!
- 抖音|正在火热追我的富二代,在得知我生日后突然消失不见,到底为什么
- vg战队|我的世界:没能“活着”走出测试版本的设定,一块肉占一格空间!
- 拉克丝|嘘,我在为我的激光充能
- 我的世界|我的世界:6个“友尽”的小技巧,不要轻易在好友的服务器尝试!
- 我的世界|我的世界:“最奢侈”的附魔是什么?我给胡萝卜钓竿打上经验修补
- 原神|原神:第一个让人感觉超模的角色,主c的天花板,可持续一年!