React: как использовать текущее состояние в событиях - PullRequest
1 голос
/ 04 августа 2020

У меня есть форма для отправки. Вот как выглядит мое состояние.

const [valueState, setValueState] = useState({
    dr_start_date: null,
    dr_end_date: null,
    s_key: "Staging + Commiting in report",
  });

После обновления состояния с помощью функции setValueState я хочу отправить форму для события onClick. (Моя функция щелчка)

const handleClick = () => {
    console.log(valueState);
  }

Выход этого состояния является начальным состоянием. Может кто-нибудь сказать мне, как использовать переменную состояния в событиях функций?

Примечание: вот как я обновляю состояние.

function handleInputOne(event, element) {
    if (typeof event.persist === "function") event.persist();

    const { derive_value_from, ele_def } = element;

    setValueState((prevState) => {
      const newValueState = { ...prevState };
      newValueState[derive_value_from] = event.target.value;
      return newValueState;
    });
  }

1 Ответ

0 голосов
/ 04 августа 2020

просто используйте событие из ввода, например:

const handleChange = (event)=>{
const {value,name} = event.target
setValue(currentState=>{...currentState,[name]:value})
}

, а для входного компонента добавьте свойство имени следующим образом:

<input name="dr_start_date" value={value.dr_start_date} onChange={handleChange}/>

и проверьте обновление состояния:

useEffect(()=>{
console.log(value)
},[value])

этот эффект будет запускаться каждый раз при изменении значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...