问题描述
我正在尝试使用 React 的去抖动输入库从 API 中获取数据。 OnChange 我正在使用我的 fetch 函数,虽然它将目标值设置为“pokemon”,但它从未将它传递给 API URL 以获取获取甚至值。我不知道如何通过它。有什么指导吗?
import { v4 as uuidv4 } from 'uuid'
import "./App.css";
import { DebounceInput } from "react-debounce-input";
import { useState } from "react";
function App() {
const [pokemon,setPokemon] = useState("");
const [pokemonsList,setPokemonsList] = useState([]);
const handleChangeFetchPokemon = (event) => {
setPokemon(event.target.value)
async function getPokemon() {
try {
const pokemonAPIURL = `https://pokeapi.co/api/v2/pokemon/${pokemon}`
const res = await fetch(pokemonAPIURL)
const pokemonData = await res.json()
const results = pokemonData
if(pokemonsList.some(pokemon=> pokemon.name === results.name)){
alert('este pokemon ya existe my friend! ?')
} else {
setPokemonsList([
...pokemonsList,{
name: results.name,img: results.sprites.front_default,id: uuidv4(),},])
}
} catch (err) {
alert('este pokemon no existe crack ?')
}
}
getPokemon()
setPokemon('')
}
console.log(pokemon,pokemonsList)
return (
<div className="App">
<DebounceInput
minLength={2}
debounceTimeout={1000}
onChange={handleChangeFetchPokemon}
/>
<p>Value: {pokemon}</p>
</div>
);
}
export default App;
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)