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,防止報(bào)錯就需要加一個判斷 this.state.users ? <h3>{this.state.users.name}</h3> : <Loading /> } </div> ) } } export default App
mock 數(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àng)目 // 實(shí)現(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', // 修改主機(jī)頭 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,防止報(bào)錯就需要加一個判斷 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、Vue中key的作用詳解 (key的內(nèi)部原理解析)
key是虛擬DOM對象的標(biāo)識,當(dāng)狀態(tài)中的數(shù)據(jù)發(fā)生變化時,Vue會根據(jù)[新數(shù)據(jù)]生成[新的虛擬DOM],本文給大家介紹React、Vue中key的作用詳解 (key的內(nèi)部原理解析),感興趣的朋友一起看看吧2023-10-10React native ListView 增加頂部下拉刷新和底下點(diǎn)擊刷新示例
這篇文章主要介紹了React native ListView 增加頂部下拉刷新和底下點(diǎn)擊刷新示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04探討JWT身份校驗(yàn)與React-router無縫集成
這篇文章主要為大家介紹了JWT身份校驗(yàn)與React-router無縫集成的探討解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06作為老司機(jī)使用 React 總結(jié)的 11 個經(jīng)驗(yàn)教訓(xùn)
這篇文章主要介紹了作為老司機(jī)使用 React 總結(jié)的 11 個經(jīng)驗(yàn)教訓(xùn),需要的朋友可以參考下2017-04-04