适用于 React 框架的 Axios 组件,具有 child function callback。
在 render 阶段进行异步请求。
使用 npm:
$ npm install react-axios
注意以下依赖的安装:
$ npm install axios
$ npm install react
$ npm install prop-types
<Request
instance={axios.create({})}
method=""
url=""
data={}
params={}
config={}
debounce={200}
debounceImmediate={true}
isReady
onSuccess={response => {}}
onLoading={() => {}}
onError={error => {}}
/>
<Get ... />
<Delete ... />
<Head ... />
<Post ... />
<Put ... />
<Patch ... />
包含在你的文件中:
import { AxiosProvider, Request, Get, Delete, Head, Post, Put, Patch, withAxios } from 'react-axios';
发起一个 GET
请求:
// 为给定 ID 的用户发送请求
render() {
return (
<div>
<Get url="/api/user" params={{id: "12345"}}>
{
(error, response, isLoading, onReload) => {
if (error) {
return (<div>Something bad happened: {error.message} <button onClick={() => onReload({ params: { reload: true } })}>Retry</button></div>)
} else if (isLoading) {
return (<div>Loading...</div>)
} else if (response !== null) {
return (<div>{response.data.message} <button onClick={() => onReload({ params: { refresh: true } })}>Refresh</button></div>)
}
return (<div>Default message before request is made.</div>)
}
}
</Get>
</div>
)
}
error
:Axios返回的error对象.
response
:Axios的response 对象.
isLoading
:布尔值,表示axios是否在发送一个请求
onReload(props)
:函数调用另一个 XHR 请求。该函数接收新的临时属性,这些属性将覆写现存的属性并仅用于此次请求。
创建一个 axios 实例
const axiosInstance = axios.create({
baseURL: '/api/',
timeout: 2000,
headers: { 'X-Custom-Header': 'foobar' }
})
通过一个 provider 传递
<AxiosProvider instance={axiosInstance}>
<Get url="test">
{
(error, response, isLoading, onReload) => { }
}
</Get>
</AxiosProvider>
或者通过 props 传递
<Get url="test" instance={axiosInstance}>
{
(error, response, isLoading, onReload) => { }
}
</Get>
当你需要使用 axios 时,会从自定义的 provider 中检索。如果<AxiosProvider/>
不存在,那么会传递默认的实例。
const MyComponent = withAxios(class MyComponentImpl extends React.Component {
componentWillMount() {
this.props.axios('test').then(result => {
this.setState({ data: result.data })
})
}
render() {
const data = (this.state || {}).data;
return <div>{JSON.stringify(data)}</div>;
}
})
<AxiosProvider instance={axiosInstance}>
<MyComponent />
</AxiosProvider>
series[i]-gauge 用于表示ECharts仪表盘,当您要使用ECharts仪表盘的时候,需要将series中的type属性设置为“ 'gauge' ...
ECharts背景色ECharts配置项中的背景色使用backgroundColor表示,在默认的情况下是无背景的。颜色可以使用 RGB 表示,比如'r...
Highcharts 双Y轴, 柱形图,线条图组合Highcharts 组合图以下实例演示了双Y轴, 柱形图,线条图组合。我们在前面的章节已经了解了...
Highcharts 柱形图 本章节我们将为大家介绍几种柱形图的类型。序号图表类型 1基本柱形图 2反向柱形图 3堆叠柱形图 4堆叠组柱形图...
快速入门为什么要用AngularJS?HTML非常适合于声明静态的文档,但是当我们试图使用它在web应用程序中声明动态视图时,它显得力不...