Вы можете создать объект в useState
и обновить, как в первом примере.
// Declare the state with a object default value
const [state, setState] = useState({})
const handleChange = (e) => {
setState(prev => ({
...prev,
[e.target.id]: e.target.value
}))
}
Если вы не можете изменить useState
и иметь очень сильный причина иметь эти 3 отдельных useState
с, вы можете создать объект, который возвращает 3 функции на основе e.target.id
const updater = {
name: setName,
genre: setGenre,
description: setDescription,
}
И при обновлении вы делаете
const handleChange = (e) => {
const updateValue = updater[e.target.id]
if (updateValue) {
updateValue(e.target.value)
}
else {
// No function to update found
// Do something else
}
}