如何在React Query的useQuery函数中传递参数给函数,当enabled设置为false时?
P粉493313067
P粉493313067 2023-08-26 19:27:17
[React讨论组]

我正在创建一个查询,允许我复制一个模板。复制模板的查询需要一个id,但最初没有任何id。当我在onClick函数中调用它时,我该如何将id作为参数传递给查询函数。

复制模板的函数:

duplicate: ({ queryKey: [_key, id] }) => axios.get(`${base_url}templates/${id}/duplicate?auth_token=${auth_token}`),

我的查询:

const { data: duplicateTemplate, refetch: duplicateTemplateFunc } = useQuery(
    [`template],
      api.duplicate,
    {
      enabled: false,
      onSuccess: () => {
        message.success('模板复制成功。')
      },
    }
  )

onClick方法在antd表格的render方法中使用,通过record.id给我id。

render: (_value, record) => (
    <div onClick={() => duplicateTemplateFunc(record.id)>
        复制
    </div>
 ),
P粉493313067
P粉493313067

全部回复(1)
P粉675258598
当使用react-query库中的useQuery hook并将enabled设置为false时,您仍然可以将参数传递给正在执行的函数。您只需要将参数作为对象传递给useQuery hook的第二个参数。
const { data, isLoading, error } = useQuery(
["fetchData", { id: 123, name: "John" }],
(_key, params) => {
return fetch(`https://your-api.com/data/${params.id}?name=${params.name}`)
  .then(res => res.json());
},
{ enabled: false }
);
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号