React網(wǎng)絡(luò)請求發(fā)起方法詳細(xì)介紹
1. 發(fā)起網(wǎng)絡(luò)請求
首先需要安裝 axios 庫:
yarn add axios
發(fā)起網(wǎng)絡(luò)請求:
import React, { Component } from 'react'
import { get } from './utils/http'
import Loading from './components/Loading'
class App extends Component {
state = {
users: null
}
async componentDidMount() {
let users = await get('/mock/users.json')
this.setState({ users })
}
render() {
return (
<div>
{
// 條件渲染
// 第一次執(zhí)行過來是null,防止報錯就需要加一個判斷
this.state.users ? <h3>{this.state.users.name}</h3> : <Loading />
}
</div>
)
}
}
export default Appmock 數(shù)據(jù):
{
"id": 1,
"name": "張三"
}

2. 開發(fā)時網(wǎng)絡(luò)請求代理配置
使用create-react-app來創(chuàng)建的react工程,如果有請求跨域,在開發(fā)時的解決方案首先需要新建配置文件 src/setupProxy.js文件,并通過 yarn 安裝 http-proxy-middleware,代理中間件模塊:
yarn add -D http-proxy-middleware
setupProxy.js:
// 此文件是create-react-app創(chuàng)建的工程提供的一個代理網(wǎng)絡(luò)請求文件入口
// 此文件給nodejs調(diào)用,模塊化要使用commonjs
// 修改此文件需要重啟項目
// 實現(xiàn)代理需要安裝 代理中間件模塊 yarn add -D http-proxy-middleware
const { createProxyMiddleware: proxy } = require('http-proxy-middleware')
const userMockFn = require('../mock/user')
// // 內(nèi)置了express
module.exports = app => {
userMockFn(app)
// 參數(shù)1:以什么規(guī)則開頭
app.use('/api', proxy({
// 目標(biāo)地址
target: 'https://api.iynn.cn/film',
// 修改主機頭
changeOrigin: true
}))
}App.jsx:
import React, { Component } from 'react'
import { get } from './utils/http'
import Loading from './components/Loading'
class App extends Component {
state = {
users: null
}
async componentDidMount() {
let users = await get('/api/v1/getNowPlayingFilmList?cityId=110100&pageNum=1&pageSize=10')
console.log(users)
}
render() {
return (
<div>
{
// 條件渲染
// 第一次執(zhí)行過來是null,防止報錯就需要加一個判斷
this.state.users ? <h3>{this.state.users.name}</h3> : <Loading />
}
</div>
)
}
}
export default App
到此這篇關(guān)于React網(wǎng)絡(luò)請求發(fā)起方法詳細(xì)介紹的文章就介紹到這了,更多相關(guān)React網(wǎng)絡(luò)請求內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談react-native熱更新react-native-pushy集成遇到的問題
下面小編就為大家?guī)硪黄獪\談react-native熱更新react-native-pushy集成遇到的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09
基于react hooks,zarm組件庫配置開發(fā)h5表單頁面的實例代碼
這篇文章主要介紹了基于react hooks,zarm組件庫配置開發(fā)h5表單頁面,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04
詳解webpack + react + react-router 如何實現(xiàn)懶加載
這篇文章主要介紹了詳解webpack + react + react-router 如何實現(xiàn)懶加載,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-11-11
react如何同步獲取useState的最新狀態(tài)值
這篇文章主要介紹了react如何同步獲取useState的最新狀態(tài)值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01

