>  Q&A  >  본문

useState를 사용하여 양식에 입력된 값을 설정합니다.

<p>useState를 사용하여 입력 값을 설정하려고 하는데 원하는 대로 작동하지 않습니다. </p> <p>그래서 약속 시스템으로 Formik을 사용하여 주간 일정을 만들었습니다. 무료 약속 라디오 버튼이 있습니다. 선택하면 약속 시간 데이터를 가져옵니다. 그런데 이날 못받았어요. 그래서 일일 데이터를 얻기 위해 다른 입력을 추가해 보았습니다. 입력된 값을 상태로 설정합니다. 라디오 버튼을 선택하면 날짜가 설정됩니다. 하지만 onSubmit에서는 새로 설정된 값 대신 초기 값을 얻습니다. 흥미롭게도 입력에 무언가를 쓰려고 하면 원하는 값 + 마지막으로 누른 키가 반환됩니다. 하지만 아무것도 하지 않으면 초기 값만 반환됩니다. </p> <p>내 양식의 초기 값: </p> <pre class="brush:php;toolbar:false;">const [day, setDay] = useState("Gün"); <포르믹 onSubmit={handleFormSubmit} 초기값={{ 이름: "", 성: "", 이메일: "", 날짜: "", 일: 일, }} ></pre> <p>라디오 버튼의 상태를 설정합니다.</p> <pre class="brush:php;toolbar:false;"><필드 유형="라디오" 이름="날짜" 값={x.monPm3Time} onClick={() => setDay("파자르테시"); }} //></pre> <p>내 입력 값은 다음 상태로 설정됩니다. </p> <pre class="brush:php;toolbar:false;"><필드 id="일" 이름="일" 값 = {일} //></pre> <p>내 handlerSubmit 함수(작동하는지 확인하기 위해 지금 기록하고 있습니다.): </p> <pre class="brush:php;toolbar:false;">const handlerFormSubmit = async (values) => console.log(값); // fetch("http://localhost:5000/api/appointment", { // 메소드: "POST", // 본문: 값, // 헤더: { // 권한 부여: "Bearer" + 토큰, // }, // }) // .then((res) => { // console.log(res.status); // }) // .catch((err) => { // console.log(err); // }); }</pre></p>
P粉588660399P粉588660399434일 전591

모든 응답(1)나는 대답할 것이다

  • P粉046878197

    P粉0468781972023-09-05 21:40:16

    그래서 코드 편집기에서 귀하의 질문을 (최선을 다해) 복제하려고 시도했고 라디오 버튼을 클릭하면 입력의 텍스트를 변경할 수 있었습니다. 여기에서 내 구현을 찾을 수 있습니다: https://stackblitz.com/edit /react-b5rvzg?file=src%2FApp.js

    또한 귀하가 handlerFormSubmit 함수에 아무 것도 전달하지 않는다고 생각하므로 아무 것도 표시되지 않을 것입니다. 귀하의 코드가 어떻게 설정되었는지 완전히 이해하지 못하기 때문에 제가 틀렸을 수도 있습니다

    회신하다
    0
  • 취소회신하다