多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## react-router 1、安装`react-router-dom`。 `npm install --save react-router-dom` 这里也能直接安装`react-router`,两个只要安装其中一个就可以了。 2、新建`router`文件夹和组件。 ~~~ cd src mkdir router && touch router/router.js ~~~ 3、根据[react-router文档](http://reacttraining.cn/web/guides/quick-start)编写一个最基本的`router.js`,包含两个页面`home` 和 `page`。 `src/router/router.js` ~~~ import React from 'react' import { BrowserRouter as Router, Route, Switch, Link } from 'react-router-dom' import Home from '../pages/Home/Home' import Page from '../pages/Page/Page' export default () => ( <Router> <div> <ul> <li><Link to="/">首页</Link></li> <li><Link to="/page">Page</Link></li> </ul> <Switch> <Route exact path="/" component={Home} /> <Route path="/page" component={Page} /> </Switch> </div> </Router> // 相当于return 一个(组件) ) ~~~ 4、新建路由页面文件夹并新建两个页面`Home`和`Page`。 ~~~ cd src mkdir pages cd src/pages mkdir Home && touch Home/Home.js mkdir Page && touch Page/Page.js ~~~ 5、填充内容: `src/pages/Home/Home.js` ~~~ import React, { Component } from 'react' export default class Home extends Component { render() { return <h1>This is Home</h1> } } ~~~ `src/pages/Page/Page.js` ~~~ import React, { Component } from 'react' export default class Page extends Component { render() { return <h1>This is Page</h1> } } ~~~ 6、现在有路由和路由页面了,我们在入口文件`src/index.js`引入`Router`。 修改`src/index.js` ~~~ import React from 'react' import ReactDOM from 'react-dom' import Router from './router/router' ReactDOM.render(<Router />, document.getElementById('app)) ~~~ 7、现在执行打包命令`npm run work`,打开`index.html`看效果。 !!!发现居然有`bug!!!`我们点击首页和Page都没有反应。下面我们来解决一下。 因为路由需要搭配Web服务器使用,用纯路径访问是不会有作用的,我们需要配置一个简单的Web服务器,指向`index.html` 有下面两种方法可以实现: 1. Nginx、Apache、IIS等配置启动一个简单的Web服务器。 2. 使用webpack-dev-server来配置启动Web服务器。 参考地址 http://www.jianshu.com/p/e3adc9b5f75c http://reacttraining.cn/web/guides/quick-start