onChange 핸들러는 어떻게 이전 상태의 변수에 액세스합니까?

야간 측정기

어딘가에서 다음 예제를 찾았고 어떻게 작동 해야하는지 알 수 없습니다. 누군가 설명해 주시겠습니까? setState의 사용법을 이해하고 초기화했지만 prevInputData 변수를 이해하지 못합니다! setInputData를 호출하는 것은 무엇이며 setInputData가 호출 될 때 이전 상태가 매개 변수로 전달되는 방식, 너무 혼란 스럽습니다!

    //state stuff 
    const [inputData, setInputData] = useState({firstName: "", lastName: ""})

    //onChange handler 
    function handleChange(event) {
      const {name, value} = event.target

      setInputData(prevInputData => { //HOW THIS IS SUPPOSED TO WORK?
        return {
            ...prevInputData,
            [name]: value
          }
       });
    }

    //form input 
    <input name="lastName" 
           value={inputData.lastName}
           onChange={handleChange}
    />
드류리스

이것은 일종의 오해 소지가 있습니다. 그것은 아니다 실제로 이전 렌더링주기의 상태 값, 그것은 인수로 전달되는 현재 상태 값의 기능 상태 업데이트 콜백 . 콜백 업데이트 상태로, 조정 중에,하지만 호출 될 때까지는, 그 것이다 지금 마지막의 상태는주기를 렌더링하고, 다음 상태 값을 반환합니다.

기능 업데이트

setInputData(prevInputData => { // actually current state when queued
  return {
    ...prevInputData,
    [name]: value
  }
});

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

핸들러 내의 변수에 어떻게 액세스합니까? 공개 설정이 작동하지 않았습니다.

분류에서Dev

여러 동음이의 파일에서 변수에 액세스하려면 어떻게해야합니까?

분류에서Dev

핸들러 함수는 업데이트 된 상태 변수에 액세스 할 수 없습니다

분류에서Dev

이 코드에서 내 상태 변수에 액세스하려면 어떻게해야합니까?

분류에서Dev

GAE에서 한 핸들러에서 다른 핸들러로 여러 변수를 어떻게 전달합니까?

분류에서Dev

기존 이벤트 핸들러의 이름을 어떻게 변경합니까?

분류에서Dev

하이퍼 HTTP 서버 핸들러에서 HTTP 상태 코드를 어떻게 설정할 수 있습니까?

분류에서Dev

이러한 JSONObject에 어떻게 액세스합니까?

분류에서Dev

React는 이벤트 핸들러에 전달 된 함수 / 콜백을 어떻게 처리합니까?

분류에서Dev

함수 호출에서 액세스 할 수있는 RPG 프로그램에서 전역 변수를 어떻게 정의합니까?

분류에서Dev

ListView에서 템플릿으로 전달되는 컨텍스트 변수의 사전 키에 어떻게 액세스합니까?

분류에서Dev

Apache PDFBox PDFTextStripper는 페이지의 텍스트 부분에 액세스합니다. 어떻게해야합니까?

분류에서Dev

이벤트 핸들러에 인수를 어떻게 전달합니까?

분류에서Dev

파이썬에서 클래스의 모든 함수가 액세스 할 수있는 변수를 어떻게 생성합니까?

분류에서Dev

JavaScript의 이벤트 핸들러는 이벤트 루프에서 어떻게 처리됩니까?

분류에서Dev

앱의 상태를 업데이트하기 위해 입력 필드와 함께 연결된 onChange 이벤트 핸들러 함수는 첫 번째로드시 한 번 실행되고 이후 단어 두 번 실행됩니다.

분류에서Dev

사전의 목록에있는 사전의 값에 어떻게 액세스합니까?

분류에서Dev

이 개체의 "초"속성에 액세스 할 수없는 이유는 무엇입니까? 날짜로 변환하려면 어떻게해야합니까?

분류에서Dev

StyleSheet의 상태 변수에 어떻게 액세스 할 수 있습니까?

분류에서Dev

canvas.bind (event, handler)는 이벤트 핸들러에 이벤트를 어떻게 전달합니까?

분류에서Dev

클래스 자체가 private 변수에 액세스 할 수 있다는 점을 제외하고 Java에서와 같이 서브 클래스 객체가 수퍼 클래스의 개인 변수에 어떻게 액세스합니까?

분류에서Dev

사전 내부에있는 배열 내부의 항목 색인에 어떻게 액세스합니까?

분류에서Dev

C #의 재귀 함수에 액세스 할 수없는 매개 변수를 어떻게 추가합니까?

분류에서Dev

시스템이 너무 빨리 부팅되어 들어가기에 BIOS에 액세스 할 수 있지만 OS가 손상된 경우 어떻게합니까?

분류에서Dev

Angular Js에서 지시문의 링크 섹션에있는 변수에 어떻게 액세스합니까?

분류에서Dev

부팅하는 동안 플래시 드라이브의 내용에 어떻게 액세스합니까? [Xubuntu]

분류에서Dev

부팅하는 동안 플래시 드라이브의 내용에 어떻게 액세스합니까? [Xubuntu]

분류에서Dev

파이썬의 사전에 둘 이상의 값을 저장하는 키의 값에 어떻게 액세스 할 수 있습니까?

분류에서Dev

Android-한 활동이 다른 활동의 변수에 어떻게 액세스합니까?

Related 관련 기사

  1. 1

    핸들러 내의 변수에 어떻게 액세스합니까? 공개 설정이 작동하지 않았습니다.

  2. 2

    여러 동음이의 파일에서 변수에 액세스하려면 어떻게해야합니까?

  3. 3

    핸들러 함수는 업데이트 된 상태 변수에 액세스 할 수 없습니다

  4. 4

    이 코드에서 내 상태 변수에 액세스하려면 어떻게해야합니까?

  5. 5

    GAE에서 한 핸들러에서 다른 핸들러로 여러 변수를 어떻게 전달합니까?

  6. 6

    기존 이벤트 핸들러의 이름을 어떻게 변경합니까?

  7. 7

    하이퍼 HTTP 서버 핸들러에서 HTTP 상태 코드를 어떻게 설정할 수 있습니까?

  8. 8

    이러한 JSONObject에 어떻게 액세스합니까?

  9. 9

    React는 이벤트 핸들러에 전달 된 함수 / 콜백을 어떻게 처리합니까?

  10. 10

    함수 호출에서 액세스 할 수있는 RPG 프로그램에서 전역 변수를 어떻게 정의합니까?

  11. 11

    ListView에서 템플릿으로 전달되는 컨텍스트 변수의 사전 키에 어떻게 액세스합니까?

  12. 12

    Apache PDFBox PDFTextStripper는 페이지의 텍스트 부분에 액세스합니다. 어떻게해야합니까?

  13. 13

    이벤트 핸들러에 인수를 어떻게 전달합니까?

  14. 14

    파이썬에서 클래스의 모든 함수가 액세스 할 수있는 변수를 어떻게 생성합니까?

  15. 15

    JavaScript의 이벤트 핸들러는 이벤트 루프에서 어떻게 처리됩니까?

  16. 16

    앱의 상태를 업데이트하기 위해 입력 필드와 함께 연결된 onChange 이벤트 핸들러 함수는 첫 번째로드시 한 번 실행되고 이후 단어 두 번 실행됩니다.

  17. 17

    사전의 목록에있는 사전의 값에 어떻게 액세스합니까?

  18. 18

    이 개체의 "초"속성에 액세스 할 수없는 이유는 무엇입니까? 날짜로 변환하려면 어떻게해야합니까?

  19. 19

    StyleSheet의 상태 변수에 어떻게 액세스 할 수 있습니까?

  20. 20

    canvas.bind (event, handler)는 이벤트 핸들러에 이벤트를 어떻게 전달합니까?

  21. 21

    클래스 자체가 private 변수에 액세스 할 수 있다는 점을 제외하고 Java에서와 같이 서브 클래스 객체가 수퍼 클래스의 개인 변수에 어떻게 액세스합니까?

  22. 22

    사전 내부에있는 배열 내부의 항목 색인에 어떻게 액세스합니까?

  23. 23

    C #의 재귀 함수에 액세스 할 수없는 매개 변수를 어떻게 추가합니까?

  24. 24

    시스템이 너무 빨리 부팅되어 들어가기에 BIOS에 액세스 할 수 있지만 OS가 손상된 경우 어떻게합니까?

  25. 25

    Angular Js에서 지시문의 링크 섹션에있는 변수에 어떻게 액세스합니까?

  26. 26

    부팅하는 동안 플래시 드라이브의 내용에 어떻게 액세스합니까? [Xubuntu]

  27. 27

    부팅하는 동안 플래시 드라이브의 내용에 어떻게 액세스합니까? [Xubuntu]

  28. 28

    파이썬의 사전에 둘 이상의 값을 저장하는 키의 값에 어떻게 액세스 할 수 있습니까?

  29. 29

    Android-한 활동이 다른 활동의 변수에 어떻게 액세스합니까?

뜨겁다태그

보관