React实践系列笔记-Library
来源:互联网 发布:南方报业 知乎 编辑:程序博客网 时间:2024/05/16 12:56
React Router
再谈 React Router 使用方法(以下部分示例直接截取自该文,向该文作者致敬 )
Quick Start
React Router主要也是基于路径匹配并且注入不同的组件,一般步骤,首先声明根组件,即是所有路由的容器:
var RouteHandler = Router.RouteHandler;var App = React.createClass({ render () { return ( <div> <h1>App</h1> <RouteHandler/> </div> ) }});
然后声明全局的路由规则:
var Router = require('react-router');var Route = Router.Route;// declare our routes and their hierarchyvar routes = ( <Route handler={App}> <Route path="about" handler={About}/> <Route path="inbox" handler={Inbox}/> </Route>);
最后进行渲染操作:
Router.run(routes, Router.HashLocation, (Root) => { React.render(<Root/>, document.body);});
Params
Path Variables
Props传递
可以以一种Wrapper的方式,进行参数传递:
var React = require('react');var wrapComponent = function(Component, props) { return React.createClass({ render: function() { return React.createElement(Component, props); } });};<Route path="comments" handler={wrapComponent(Comments, {myprop: value})}/>
Nested Router:嵌套路由
类似于angular-router中嵌套路由的概念,如果需要在某个子界面中嵌入一个新的路由规则,即二级路由,也可以直接配置在全局的routes中,不过需要在子界面中添加```<RouteHandler />```,新的组件同样会被注入到该<RouteHandler/>中,该Demo的全部在[这里](http://jsbin.com/duduta/20/edit?js,output)。
/** * 图书列表组件, */var Books = React.createClass({ render: function() { return ( <div> <ul> <li key={1}><Link to="book" params={{id: 1}}>活着</Link></li> <li key={2}><Link to="book" params={{id: 2}}>挪威的森林</Link></li> <li key={3}><Link to="book" params={{id: 3}}>从你的全世界走过</Link></li> </ul> <RouteHandler /> </div> ); }});
React Canvas
18个React示例
0 0
- React实践系列笔记-Library
- React实践系列笔记-JSX
- React实践系列笔记-Components
- React实践系列笔记-Interactivity and Dynamic UIs
- React实践笔记-Introduction
- react-cnode实践笔记
- React实践笔记-Quick Start
- React系列学习笔记:1.React与webpack基本配置
- 【React-native系列开发笔记一】
- React系列之开发大型网站最佳实践
- Redux进阶系列1: React+Redux项目结构最佳实践
- react 实践
- React---前端JS library
- React-Native 学习系列课程笔记(React-Native开发环境搭建)
- React-Native 学习系列课程笔记(React-Native 开发从零开始)
- React Native 实践小结
- React-router路由实践
- React 入门实践
- 欧拉通路的求解
- android--圆角框--dialog(圆角框)
- Processing 教程(7) - 平移、旋转、放缩
- 1009. 说反话 (20)
- PHP 设计模式之观察者模式
- React实践系列笔记-Library
- HDU 3231 Box Relations(拓扑排序)
- ThinkPHP下的RBAC权限访问理解【笔记】
- c++的深拷贝和浅拷贝
- GitHub上整理的一些工具
- web系统测试之刃
- 1010. 一元多项式求导 (25)
- 诚信
- CentOS6设置Django开发环境