В моей функции Typescript, когда я устанавливаю аннотацию типа на String, я получаю сообщение об ошибке «Это выражение не может быть вызвано Тип« String »не имеет сигнатур вызовов». как видно из кода ниже.
function IssuerCall<T>(setIssuerCallState: string ){
return Axios.request({
method: 'get',
url:'https://jsonplaceholder.typicode.com/todos/',//'https://jsonplaceholder.typicode.com/todos/'
}).subscribe(
response => {
console.log(response);
setIssuerCallState({ message: response.status });
},
error => {
console.log(error);
setIssuerCallState({ message: '404' });
}
);
}
Однако, если я установлю тип на Any, у меня не возникнет проблем. Как видно из кода ниже. Я все еще обнимаю TypeScript, так что любая обратная связь будет принята.
function IssuerCall<T>(setIssuerCallState: any ){
return Axios.request({
method: 'get',
url:'https://jsonplaceholder.typicode.com/todos/',//'https://jsonplaceholder.typicode.com/todos/'
}).subscribe(
response => {
console.log(response);
setIssuerCallState({ message: response.status });
},
error => {
console.log(error);
setIssuerCallState({ message: '404' });
}
);
}
Эта функция затем вызывается в функциональном компоненте React с Redux, как показано ниже:
const [issuerCallState, setIssuerCallState] = useState({ message: ''});
function testCall(){
IssuerCall(setIssuerCallState);
};