ES7 React/Redux/GraphQL/React-Native snippets
插件create-react-app
创建 react 应用create-react-app
react + webpack + es6 + eslint
第一步,全局安装:
npm i -g create-react-app
第二步,切换到想创项目的目录,使用命令:
create-react-app hello-react
第三步,进入项目文件夹:
cd hello-react
第四步,启动项目:
npm start
# yarn start
public ---- 静态资源文件夹:页面,公共图片,字体等
favicon.icon ------ 网站页签图标
index.html -------- 主页面
logo192.png ------- logo图
logo512.png ------- logo图
manifest.json ----- 应用加壳的配置文件
robots.txt -------- 爬虫协议文件src ---- 源码文件夹
App.css -------- App组件的样式
App.js --------- App 组件
App.test.js ---- 用于给App做测试
index.css ------ 样式
index.js ------- 入口文件
logo.svg ------- logo图
reportWebVitals.js ------- 页面性能分析文件(需要 web-vitals 库的支持)
setupTests.js ------- 组件单元测试的文件(需要 jest-dom 库的支持)
src/index.js
:
// 引入 react 核心库
import React from 'react'
// 引入 ReactDOM,进行渲染
import ReactDOM from 'react-dom'
// 引入 App 组件
import App from './App'// 渲染 App 到页面
ReactDOM.render(<React.StrictMode><App /></React.StrictMode>,document.getElementById('root')
)
src/App.jsx
:
// 创建 "外壳" 组件App
import React, { Component } from 'react'
import Hello from './components/Hello'// 创建并暴露 App 组件
export default class App extends Component {render () {return (<div><Hello /></div>)}
}
src/components/Hello/index.jsx
import React, { Component } from 'react'
import './index.css'export default class Hello extends Component {render () {return <h2 className="title">Hello React</h2>}
}
src/components/Hello/index.css
样式模块化
将 src/components/Hello/index.css
修改为 src/components/Hello/index.module.css
在 src/components/Hello/index.jsx
中,引入时的语法:
import React, { Component } from 'react'
import hello from './index.module.css'export default class Hello extends Component {render () {return <h2 className={hello.title}>Hello React</h2>}
}
注意:css 文件名 后面的 module
不可以省略,固定写法
需求:组件化实现此功能
1,显示所有 todo 列表
2,输入文本,点击按钮显示到列表的首位,并清除输入的文本
在 package.json
中追加如下配置:
{"proxy":"http://localhost:5000"
}
说明:
1,创建代理配置文件
src/setupProxy.js
2,编写 setupProxy.js
配置具体代理规则:
const proxy = require('http-proxy-middleware')module.exports = function(app) {app.use(proxy('/api1', { //api1是需要转发的请求(所有带有/api1前缀的请求都会转发给5000)target: 'http://localhost:5000', //配置转发目标地址(能返回数据的服务器地址)changeOrigin: true, //控制服务器接收到的请求头中host字段的值/*changeOrigin设置为true时,服务器收到的请求头中的host为:localhost:5000changeOrigin设置为false时,服务器收到的请求头中的host为:localhost:3000changeOrigin默认值为false,但我们一般将changeOrigin值设为true*/pathRewrite: {'^/api1': ''} //去除请求前缀,保证交给后台服务器的是正常请求地址(必须配置)}),proxy('/api2', { target: 'http://localhost:5001',changeOrigin: true,pathRewrite: {'^/api2': ''}}))
}
说明:
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态