Skip to main content

Receive Params

In both useRequest and useWatcher we can call the send function to manually trigger the request. When the send function triggers the request, any number of parameters can be passed in. These parameters can actually be received by the following three locations.

##Received in method handler

Can be received when their first argument is set to a callback function, which is often useful when removing list items, as follows:

const { send } = useRequest(id =>
// id will receive 1
removeTodoPoster(id)
);
send(1);
const { send } = useWatcher(
userId =>
// userId will receive 2
todoListGetter(userId),
[condition]
);
send(2);

Receive in event callback function

Received through event.sendArgs in the event callback function, which is an array containing all parameters of the send function.

const { send, onSuccess, onError, onComplete } = useRequest(newTodo => alovaInstance.Post('/todo', newTodo));
onSuccess(event => {
//The value of sendArgs is [1]
console.log(event.sendArgs);
});
onError(event => {
//The value of sendArgs is [1]
console.log(event.sendArgs);
});
onComplete(event => {
//The value of sendArgs is [1]
console.log(event.sendArgs);
});

// send request
send(1);

##Received in force function

force is used to specify whether it is necessary to penetrate the response cache. The content of the response cache will be explained later in Cache Mode.

const { send } = useRequest(alovaInstance.Get('/todo'), {
force: id => {
return !!id;
}
});
send(1);
const { send } = useWatcher(alovaInstance.Get('/todo'), [condition], {
force: id => {
return !!id;
}
});
send(1);