测试代码大概是这样的
const OperationButtons = ({record,}) => {
const [{ data, loading, error}, refetch] = useAxios('http://www.baidu.com', {'manual': true});
return (
<Actions>
<LinkButton
onClick={() => {
Dialog.confirm({
title: "Confirm",
content: 'Do you want to send request?',
onOk: () => {
refetch();
if (error) {
console.log(error);
}
else {
console.log(data);
}
}
});
}}
>
Request
</LinkButton>
</Actions>
)
}
const TestTable = () => {
const [{data, loading, error}, refetch] = useAxios('http://data.cdc.gov/data.json');
return (
<Table
dataSource={data?.dataset}
loading={loading}
columns={[
{
title: 'title',
dataIndex: 'title',
},
{
title: 'identifier',
dataIndex: 'identifier',
},
{
title: 'operations',
cell: (value, index, record) => (
<OperationButtons record={record} />
)
}
]}
/>
);
};
这里调用了一个公开数据集 ( http://data.cdc.gov/data.json) 来渲染一个表格 (TestTable),表格渲染是正常的。表格的第三列里有一个按钮,按下后会弹出一个确认对话框,点击 Ok 后,会发第二个请求。
现在我想做的,是判断第二个请求成功与否,分别弹出一个成功对话框和失败对话框。
因为这个文件是函数式组件,所以第二个请求也想使用 useAxios 来实现。现在如果打开浏览器的 CORS,第二个请求确实发出去了,但是现在判断逻辑有问题,始终输出 undefined
请问这种情况下,第二个请求可以使用 axios-hooks 实现吗?如果可以,代码要如何调整呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.