Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用react查询在单击按钮时调用依赖API?_Javascript_Reactjs_Axios_React Query - Fatal编程技术网

Javascript 如何使用react查询在单击按钮时调用依赖API?

Javascript 如何使用react查询在单击按钮时调用依赖API?,javascript,reactjs,axios,react-query,Javascript,Reactjs,Axios,React Query,我需要在按钮点击时调用2个API,其中第二个查询依赖于第一个查询,我需要将数据从第一个查询传递到第二个查询,我可以使用javascript函数实现这一点,但我想使用“react query”,因为我确信会有更少的代码,我会得到“isFetching”和“data”,下面是工作的javascript函数 const addGuestCart = () => { let getCartKey = new FormData(); getCartKey.append('lang',

我需要在按钮点击时调用2个API,其中第二个查询依赖于第一个查询,我需要将数据从第一个查询传递到第二个查询,我可以使用javascript函数实现这一点,但我想使用“react query”,因为我确信会有更少的代码,我会得到“isFetching”和“data”,下面是工作的javascript函数

const addGuestCart = () => {
    let getCartKey = new FormData();
    getCartKey.append('lang', 's001');
    let config1 = {
      method: 'post',
      url: 'first api_url',
      data: getCartKey,
    };
    axios(config1)
      .then(({ data }) => {
        console.log(data);
        return data;
      })
      .then((data) => {
        let guestCart = new FormData();
        guestCart.append('qty', '1');
        guestCart.append('lang', 's001');
        guestCart.append('sku', sku);
        guestCart.append('opid1', '0');
        guestCart.append('opvalue1', '0');
        guestCart.append('opid2', '0');
        guestCart.append('opvalue2', '0');
        guestCart.append('productid', id);
        guestCart.append('cartid', data.cartid);
        guestCart.append('key', data.key);

        let config2 = {
          method: 'post',
          url: 'second api_url',
          data: guestCart,
        };
        axios(config2).then((res) => {
          console.log(res);
          // return res;
        });
      });
  };

任何帮助都将不胜感激:)

文档中有此用例的示例:

//获取用户
const{data:user}=useQuery(['user',email],getUserByEmail)
const userId=用户?.id
//然后获取用户的项目
const{isIdle,data:projects}=useQuery(
['projects',userId],
GetProjectsByser,
{
//在用户ID存在之前,查询不会执行
已启用:!!用户ID,
}
)
//isIdle将为'true',直到'enabled'为true并且查询开始获取。
//然后它将进入“isLoading”阶段,希望进入“isSuccess”阶段:)