react-router
2017-01-27 00:56
260 查看
摘自:http://www.ruanyifeng.com/blog/2016/05/react_router.html?utm_source=tool.lu
https://github.com/ReactTraining/react-router/blob/master/docs/API.md#link表单处理
Link组件用于正常的用户点击跳转,但是有时还需要表单跳转、点击按钮跳转等操作。这些情况怎么跟React Router对接呢?下面是一个表单。
<form onSubmit={this.handleSubmit}> <input type="text" placeholder="userName"/> <input type="text" placeholder="repo"/> <button type="submit">Go</button> </form>第一种方法是使用
browserHistory.push
import { browserHistory } from 'react-router' // ... handleSubmit(event) { event.preventDefault() const userName = event.target.elements[0].value const repo = event.target.elements[1].value const path = `/repos/${userName}/${repo}` browserHistory.push(path) },第二种方法是使用
context对象。
export default React.createClass({ // ask for `router` from context contextTypes: { router: React.PropTypes.object }, handleSubmit(event) { // ... this.context.router.push(path) }, })如果希望当前的路由与其他路由有不同样式,这时可以使用
Link组件的
activeStyle属性。
<Link to="/about" activeStyle={{color: 'red'}}>About</Link><Link to="/repos" activeStyle={{color: 'red'}}>Repos</Link>上面代码中,当前页面的链接会红色显示。另一种做法是,使用
activeClassName指定当前路由的
Class。
<Link to="/about" activeClassName="active">About</Link><Link to="/repos" activeClassName="active">Repos</Link>上面代码中,当前页面的链接的
class会包含
active。在
Router组件之外,导航到路由页面,可以使用浏览器的History API,像下面这样写。
import { browserHistory } from 'react-router';browserHistory.push('/some/path');
相关文章推荐
- React-router(8)Link 标签 to 属性为对象时(路由信息传值)
- 【前端】react学习阶段总结,学习react、react-router与redux的这些事儿
- react-router-dom示例讲解(一)——基本使用
- Webpack+react-router 报 Cannot read property 'toUpperCase' of undefined
- react-router-redux
- React-router4
- react-native 路由 react-native-router-flux
- react-router4 实现按需加载
- ReactNative React-native-router-flux框架---刷新当前页面的属性
- react+redux+router+webpack+immutable.js框架
- react-router4.x 实用例子(路由过渡动画、代码分割)
- React Js Router 静态方法跳转 直接点到组件
- [置顶] 最完整的React+Redux+router兼容ie8 修改!!!!
- 解决 react-router 中 history is 'undefined' 的问题
- react,react-router 4,mobx构建我的移动端web
- react-router 从 v2/v3 to v4 迁移
- react-router4快速上手与配置示例
- 基于react16 webpack3 搭建前端spa基础框架 react-router的4种异步加载方式
- react-router v4 学习实践
- ReactRouter升级 v2 to v4