Событие OnClick работает только при втором нажатии в React

#javascript #html #reactjs #dom-events

Вопрос:

Мой div, в котором я назначаю событие Onclick для запуска функции api отправки сообщений

 <div className="sendDiv"
  onMouseOver={() => hoverSend()}
  onMouseLeave={() => setSendOn(true)}
  onClick={() => replyMessage(enquiryId)}>
 

Моя функция ответного сообщения, в которой я сохраняю свой маршрут api, а также вызываю другую функцию (getOneticket), чтобы обновить мои сообщения.

Здесь я бы установил свое «Состояние сообщений» со значением события onChange в поле ввода и передал его в свой патч api.

      function replyMessage(currentId) {
        console.log("reply mesaage");
        const replyData = {
          message: messageState,
        };
        axios
          .patch(`admin/enquiry?enquiryID=${currentId}`, replyData)
          .then((res) => {})
          .catch((err) => {
            console.log(err, "error");
          });
        getOneticket(currentId);
    }
 

Мое поле ввода, в котором я задаю событие onChange и задаю значение setMessageState

 <TextareaAutosize
  maxRows={3}
  aria-label="maximum height"
  placeholder="Type a message.."
  className="typetext"
  value={messageState}
  onChange={(e) => setMessageState(e.target.value)}
/>
 

Моя функция getOneTicket, в которой я просто загружаю свои данные с индивидуального идентификатора

      function getOneticket(cookID) {
        console.log('get one ticket called from send button click')
        console.log(cookID, "ticket id");
        axios
          .get(`admin/enquiry/get/one?enquiryID=${cookID}`)
          .then((res) => {
            console.log(res, "single res");
            dispatch({
              type: actionTypes.GET_SINGLE_ENQUIRIES,
              payload: res.data.enquiry,
            });
          })
          .catch((err) => {
            console.log(err, "error");
          });
        setEnquiryId(cookID);
      }
 

Комментарии:

1. Можете ли вы добавить еще немного кода. Это немного трудно понять.