Wai*_*aiz 7 typescript reactjs
我正在尝试使用 axios 从 API 获取数据,但 response.data 给了我“未知”错误。不知道如何解决这个问题。任何人都可以帮助我。我正在使用打字稿。
这是我收到的错误:
对象的类型为“unknown”.ts(2571)(参数)响应:AxiosResponse<unknown, any>
interface Props {
pokemonItem: PokemonItem[];
children: React.ReactNode | React.ReactNode[];
}
export const PokemonContainer: React.FC = (props) => {
const { pokemonItem } = props;
const { name, height, weight, abilities } = pokemonItem;
const [hovered, setHovered] = React.useState(false);
const [imageLoaded, setImageLoaded] = React.useState(false);
const [pokemon, setPokemon] = React.useState([]);
const getPokemons = () => {
try {
axios
.get('https:pokeapi.co/api/v2/pokemon')
.then((response) => {
setPokemon(response.data.results.map((item) => item.name));
});
} catch (error) {
console.log(error);
}
};
React.useEffect(() => {
getPokemons();
}, []);
Run Code Online (Sandbox Code Playgroud)
在另一个文件中我定义了数据类型:
export interface PokemonItem {
id: number;
name: string;
height: string;
weight: string;
abilities: string;
image: string;
}
Run Code Online (Sandbox Code Playgroud)
Tus*_*ahi 15
response
类型unknown
为 TS。unknown
就像any
它可以是任何东西一样,但它是一个更安全的选择。TS 不会让您访问response
属性,因为它不知道该对象可能是什么。
您将想尝试这个并将其用作any
.
const getPokemons = () => {
try {
axios
.get('https:pokeapi.co/api/v2/pokemon')
.then((response : any) => {
setPokemon(response.data.results.map((item) => item.name));
});
} catch (error) {
console.log(error);
}
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
29263 次 |
最近记录: |