#reactjs #react-hooks
#reactjs #реагирующие крючки
Вопрос:
я хочу иметь только один onChange для нескольких входов в reacthooks, поэтому я сделал это
const [name, setName] = useState({ firstName: '', lastName: ''})
const onChangeHandler = (event) => {
const {name, value} = event.target;
setName({
...name,
[name]: value,
})
}
<input
type="text"
name="fistName"
value={firstNmae}
onChange={onChangeHandler}
/>
<input
type="text"
name="lastName"
value={lastName}
onChange={onChangeHandler}
/>
Все работает правильно. но когда моя страница загружается, я получаю имя и фамилию из API.Раньше я делал это до того, как у меня были изменения:
const [firstName, setFirstName] = useState("");
const [lastName, setLastName] = useState("");
await CmdTseService.getPersonInfo((status, data) => {
personData = data.Result;
}
fetchData().then(() => {
setFirstName(personData.FirstName);
setLastName(personData.LastName);
})
Теперь, как мне это сделать?
Комментарии:
1. Это то, что вы пытаетесь сделать?
Ответ №1:
Почему вы не вызываете метод setName()
?
setName({
firstName: personData.FirstName,
lastName: personData.LastName,
});