create-react-app 入门学习
2024-09-01 00:11:58
全局安装 create-react-app
npm install create-react-app -g
创建项目
在全局安装了create-react-app 后 创建项目,如果按照下面的第一种办法创建不成功,可以使用第二种办法
create-react-app react01
// 或者
npx create-react-app react01
使用路由
- 下载路由模块
npm i react-router-dom -s
为实现路由懒加载 安装 react-loadable
npm i react-loadable -s
- 创建页面
在 src 目录下创建 pages文件,测试文件目录如下
pages => index.js代码
import Loadable from 'react-loadable';
import { ActivityIndicator } from 'antd-mobile';
const Home = Loadable({
loader: () => import('./home'),
loading: ActivityIndicator
});
const Cate = Loadable({
loader: () => import('./cate'),
loading: ActivityIndicator
});
export {
Home,
Cate
}
- 在 src 目录下创建创建routes.js
import {
Home,
Cate
} from './pages'
const routes = [
{
url: '/home',
component: Home,
text: '首页',
isToggleFooter:true,
isShowHeaderAndFooter: true
},
{
url: '/cate',
component: Cate,
text: '分类',
isToggleFooter:true,
isShowHeaderAndFooter:true
}
]
export default routes
- 在 app.js引入router模块和routes.js文件
import React, { Component, Fragment } from 'react';
import {
Route,
Redirect,
Switch
} from 'react-router-dom'
import routes from './routes'
class App extends Component {
render() {
return (
<Fragment>
<header>Header</header>
<Switch>
{
routes.map(route => {
return (
<Route
key={route.url}
path={route.url}
component={route.component} />
)
})
}
<Redirect exact from="/" to={routes[0].url} />
{/* 这里用 redirect 进行 首页自动跳转到 /home 路由下
exact 意味着精确匹配 当为 / 时才跳转 /home 不是包含 / 就跳转到 /home
*/}
{/* <Redirect to = '/all'/> */}
{/* 如果找不到页面 则去 4040页面 */}
</Switch>
<footer>尾部</footer>
</Fragment>
);
}
}
export default App;
- 在 src 最外层 index.js使用 router模块
import React from 'react';
import ReactDOM from 'react-dom';
import {
BrowserRouter as Router,
Route
} from 'react-router-dom';
import './index.scss';
import App from './App';
import * as serviceWorker from './serviceWorker';
ReactDOM.render(
<Router>
<Route component = {App} />
</Router>
,
document.getElementById('root'))
路由间跳转
以home 页面为例
import React, { Component, Fragment } from 'react';
import { Link } from 'react-router-dom'
export default class Home extends Component {
render() {
return (
<Fragment>
<div>我是Home页</div>
<button> <Link to="/cate">跳转到 cate 页</Link> </button>
</Fragment>
)
}
}
最新文章
- 如何在虚拟机里安装Linux
- 字节流与字符流(FileInputStream类和FileOutputStream类)
- 译:泛型List集合转化为DateTable的扩展方法
- 【C51】单片机芯片之——图解74HC595
- 关于websocket中的心跳..
- 『重构--改善既有代码的设计』读书笔记----Replace Array with Object
- [转]机器学习——C4.5 决策树算法学习
- QML设计登陆界面
- 解决项目打包过程检出项目出现 svn:e15500错误
- UWP开发技巧:实现SMB协议操作文件服务器文件
- sass进阶—mixin的使用(浏览器兼容性调整)
- @Component注解的解析
- Java 获取窗口的宽、高
- #define 多行多语句
- 【Linux】使用w命令和uptime命令查看系统负载
- canvas移动端常用技巧图片loading
- WPF基础学习笔记整理 (八) 命令
- spring boot(11)-druid监控
- lua小试牛刀
- JavaScript------Throw和Try-Catch的使用