In here when i press the search button the first time the 'username' state doesn't recieve any data. The 'username' state is empty and the API request in the App.js fails. The second time i click the same button everything works as expected. How do i make it work on the first click ? What's wrong here?
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>
)
}
EDIT : ADDING App.js here
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>
);
}