官网共14节
package.json:npm install ;npm start
01-setting-up
只能open http://localhost:8080
package.json中script:{start: }
webpack-dev-server –inline –content-base…
App.js中:1
2
3
4
5export default React.createClass ({
render(){
return <.......>
}
})
02-rendering-a-route
index.js1
2
3
4
5//hashHistory不需要服务器配置,在URL生成一个哈希来跟踪状态,在测试或者发布环境中使用
//可写{browerHistory需要服务器的配置,路径为真实URL(API)}
<Router history={hashHistory}>
<Route path="/about" component={△}>
//import △ from "/modules/..."
03-Navigating-with-link
(1)< div>标签:块状元素
(2)< nav>标签:定义导航链接的部分
role属性:本意是增强属性,role=”form”告诉赋值设备这个元素扮演的角色
(3)webpack.config.js配置1
2
3module.exports = {
entry: './index.js' //入口文件
}
04-nested-routes-practic
改变现实位置->显示在同一页面下部
05-active-links
大部分links不需是active,通常主要是导航链接需active
定义activeClassName或activeStyle
(1)inline-style
在<Link中定义activeStyle,定义不点击时属性
(2)activeClassName=”active”进入任何一个URL都会激活/的active
导航链接:定义Nav Links,生成NavLink.js <Link active……:始终都是active,并非点击后不active
06-params URL参数
- repos/reactjs/react-router
-> repos/:userName/:repoName (route path)
(:userName为URL参数) - 解析后作为变量被路由组件使用 this.props.params.userName this.props.params[name]
- path属性:指定路由的匹配规则
访问index/messages/:id1
2
3<Inbox>
<Message/>
</Inbox>
(1)1
2<Route path="inbox" component={Inbox}>
<Route path="message/:id" component={Message}
(2)1
2<Route
<Route path="inbox/message/:id"
08-index-links
<IndexRoute component={Home} 显式指定Home是根路由的子组件,即默认情况下加载的子组件,/是一切的子组件
使用IndexLink,修改问题,在其他界面Index route也被激活(使用onlyActiveOnIndex={true}来标记)
09-brower History
修改hashHistory -> browerHistory
刷新出错:修改package.json
“start”:”webpack-dev-server –inline” –content-base. –history-api-fallback