typescript+react项目如何配置api (axios)

1.先下载依赖

npm i @types/axios -S

2.在src文件夹下创建一个api的文件

3.在api文件夹中创建 两个 .ts结尾的文件

  4.request.ts中的配置

import axios from "axios";
 
export const Service = axios.create({
 
    timeout: 8000, //延迟时间
 
    method: 'POST',
 
    headers: {
 
        "content-Type": "application/x-www-form-urlencoded",
 
        "pc-token": "4a82b23dbbf3b23fd8aa291076e660ec", //后端提供
 
    }
 
})
 
// 请求拦截
 
Service.interceptors.request.use(config => {
 
    return config
 
})
 
// 响应拦截
 
Service.interceptors.response.use(response => {
 
    return response.data
 
}, err => {
 
    console.log(err)
 
})

5.index.ts文件的配置

import {
    Service
} from "./request";
interface searchConfig {
    page: number | string
    mod: string
}
interface getConfig {
    page: number | string
}
// 搜索接口
export function searchCar(config: searchConfig) {
    const params = new URLSearchParams()
 
    params.append('page', config.page as string);
    params.append('mod', config.mod);
 
    return Service({
        url: "./api/oldcar/searchCar",
        data: params
    })
}
 
// 列表接口
export function getCarList(config: getConfig) {
    const params = new URLSearchParams()
    params.append('page', config.page as string)
    return Service({
        url: "/api/oldcar/getCarList",
        data: params
    })
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React Native 中使用 TypeScriptAxios 实现查询功能的步如下: 1. 安装所需的依赖: ``` npm install axios ``` 2. 创建一个查询组件(SearchComponent.tsx)。 ```tsx import React, { useState } from 'react'; import { Button, TextInput, View } from 'react-native'; import axios from 'axios'; interface SearchComponentProps { onSearch: (searchTerm: string) => void; } const SearchComponent: React.FC<SearchComponentProps> = ({ onSearch }) => { const [searchTerm, setSearchTerm] = useState(''); const handleSearch = async () => { try { const response = await axios.get(`https://api.example.com/search?term=${searchTerm}`); // 在这里处理查询结果 console.log(response.data); onSearch(searchTerm); } catch (error) { // 处理错误情况 console.error(error); } }; return ( <View> <TextInput value={searchTerm} onChangeText={(text) => setSearchTerm(text)} /> <Button title="Search" onPress={handleSearch} /> </View> ); }; export default SearchComponent; ``` 3. 在父组件中使用查询组件并处理查询逻辑。 ```tsx import React from 'react'; import { View, Text } from 'react-native'; import SearchComponent from './SearchComponent'; const ParentComponent: React.FC = () => { const handleSearch = (searchTerm: string) => { // 在这里处理查询逻辑,可以更新状态或进行其他操作 console.log('查询关键词:', searchTerm); }; return ( <View> <Text>查询功能示例</Text> <SearchComponent onSearch={handleSearch} /> </View> ); }; export default ParentComponent; ``` 4. 在应用的入口文件中渲染父组件。 ```tsx import React from 'react'; import { AppRegistry } from 'react-native'; import ParentComponent from './ParentComponent'; const App: React.FC = () => { return <ParentComponent />; }; AppRegistry.registerComponent('MyApp', () => App); ``` 以上是一个简单的查询功能的实现示例,你可以根据实际需求进行相应的修改和扩展。记得根据你的项目需要进行网络请求的配置,例如设置请求头、身份验证等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值