React-Async 调用 运行 稍后在 useFetch 上使用 GET 请求
React-Async call run later with GET request on useFetch
我正在尝试 运行 稍后使用 React-Async 库中的 useFetch 获取一个获取请求。我想 运行 它在效果挂钩中。
import React, {useEffect} from 'react';
import { useFetch } from "react-async"
const Example = (props) => {
const headers = { Accept: "application/json" }
const { data, error, isPending, run } = useFetch("http://www.mocky.io/v2/5eac28e4330000a215dfe24d",{ method: "POST", headers });
useEffect(() => {
// token = await retrieveToken;
run(init => ({
...init,
headers: {
...init.headers,
Authentication: "thetoken",
},
}))
},[]);
if (isPending) return <div>Loading</div>
if (error) return <div>`Something went wrong: ${error.message}`</div>
if (data)
return (
<div>
{JSON.stringify(data)}
</div>
);
else {
return <div>Loading</div>
}
}
export default Example;
获取调用 运行 立即生效,尚未生效。当我将方法更改为 POST 时,如预期的那样从效果中进行提取调用。
如何使其适用于 GET 请求?
react-async useFetch 将选项对象作为第三个参数。此选项对象采用延迟参数,如果设置为 true,则延迟执行。默认由请求方式决定
defer
Enables the use of deferFn
if true, or enables the use of promiseFn
if
false. By default this is automatically chosen based on the request
method (deferFn for POST / PUT / PATCH / DELETE, promiseFn otherwise).
像这样使用你的 useFetch 方法
const { data, error, isPending, run } = useFetch("http://www.mocky.io/v2/5eac28e4330000a215dfe24d",
{ method: "GET", headers },
{defer: true}
);
我正在尝试 运行 稍后使用 React-Async 库中的 useFetch 获取一个获取请求。我想 运行 它在效果挂钩中。
import React, {useEffect} from 'react';
import { useFetch } from "react-async"
const Example = (props) => {
const headers = { Accept: "application/json" }
const { data, error, isPending, run } = useFetch("http://www.mocky.io/v2/5eac28e4330000a215dfe24d",{ method: "POST", headers });
useEffect(() => {
// token = await retrieveToken;
run(init => ({
...init,
headers: {
...init.headers,
Authentication: "thetoken",
},
}))
},[]);
if (isPending) return <div>Loading</div>
if (error) return <div>`Something went wrong: ${error.message}`</div>
if (data)
return (
<div>
{JSON.stringify(data)}
</div>
);
else {
return <div>Loading</div>
}
}
export default Example;
获取调用 运行 立即生效,尚未生效。当我将方法更改为 POST 时,如预期的那样从效果中进行提取调用。
如何使其适用于 GET 请求?
react-async useFetch 将选项对象作为第三个参数。此选项对象采用延迟参数,如果设置为 true,则延迟执行。默认由请求方式决定
defer
Enables the use ofdeferFn
if true, or enables the use ofpromiseFn
if false. By default this is automatically chosen based on the request method (deferFn for POST / PUT / PATCH / DELETE, promiseFn otherwise).
像这样使用你的 useFetch 方法
const { data, error, isPending, run } = useFetch("http://www.mocky.io/v2/5eac28e4330000a215dfe24d",
{ method: "GET", headers },
{defer: true}
);