在这里,当我第一次按下搜索按钮时,“用户名”状态没有接收到任何数据。 “用户名”状态为空,并且App.js中的API请求失败。 第二次点击相同的按钮时,一切都按预期工作。如何使其在第一次单击时正常工作?这里有什么问题?
const Search = ({setInputText, setUsername, inputText, username}) => {
const inputHandler = (e)=> {
setInputText(e.target.value)
}
const searchHandler = (e)=> {
e.preventDefault()
setUsername(inputText)
}
return (
<div>
<form>
<input value={inputText} onChange={inputHandler} type="text"/>
<button onClick={searchHandler}>Search</button>
</form>
</div>
)
}
编辑:在此添加App.js
function App() {
//States
const [inputText, setInputText] = useState("")
const [username, setUsername] = useState("")
const [stats, setStats] = useState([])
return (
<div className="App">
<h1>Game Stats</h1>
<Search setInputText={setInputText} setUsername={setUsername} inputText={inputText} username={username} setStats={setStats}/>
<Stats stats={stats}/>
</div>
);
}