Maison > Questions et réponses > le corps du texte
P粉7656846022023-08-16 09:53:17
Lorsque vous appelez handleSearchChange
然后调用setCountriesToShow
pour mettre à jour le statut :
setCountriesToShow( countries.filter(country => country .name .common .toLowerCase() .includes(event.target.value.toLowerCase()) ) )
Vous avez déclenché un rendu. La valeur d'état nouvellement mise à jour ne sera disponible que lors du prochain rendu, c'est pourquoi elle est en retard.
Si vous souhaitez utiliser la valeur ci-dessous, vous devez d'abord la stocker dans une variable :
const handleSearchChange = (event) => { const newCountriesToShow = countries.filter(country => country .name .common .toLowerCase() .includes(event.target.value.toLowerCase()) ) setCountriesToShow(newCountriesToShow) setSearch(event.target.value) if (event.target.value.trim().length === 0) { setNotificationMessage(null) setShowShearched(false) } else if (newCountriesToShow.length <= 10) { setNotificationMessage(null) setShowShearched(true) } else { setNotificationMessage('list too long') setShowShearched(false) } }