서버에서 "사용자 정보"를 "가져오"려고 합니다.
API GET URL: /users/${memberId} userID는 숫자형 memberId입니다. (예 4)
내 질문은 다음과 같습니다..
" "에서 "userIcon"을 클릭하면 페이지를 연결하고 올바른 사용자 정보를 로드해야 합니다
로컬호스트 페이지를 직접 확인하려고 해도 안나오네요. 하지만 " userId={userData.memberId} "를 제거하면 페이지가 표시되고 다시 작성됩니다. "userId={userData.memberId}" 하고 저장하면 페이지가 정상입니다.
으아악"userId={userData.memberId}"의 링크는 UserPage 경로에 사용됩니다. console.log(userData)입니다
여기에 이미지 설명을 입력하세요
으아악문제는 UserIcon을 클릭하면 작동하지 않고 오류가 발생한다는 것입니다. 오류를 알려주세요 <<无法读取未定义的属性(读取'memberId')>>
그럼..왜 내 코드가 작동하지 않나요? : 사용자 아이콘 클릭 -> uerl /users/${memberId}를 사용하여 UserPage로 이동합니다. LoginHeader에서 memberId 소품을 제거할 때까지 useEffect 'GET'이 작동하지 않는 이유는 무엇입니까? ? ?
P粉4656759622024-01-18 07:56:06
왜냐하면userData
是未定义
. 초기화 위치/방법을 표시하지 않지만 이와 같은 것이 있습니까? :
이렇게 하면 未定义
。因此,当组件首次呈现时,您无法从 userData
读取属性,因为它是未定义
로 초기화됩니다. 나중에 값을 가질 수도 있지만 그때쯤이면 코드에서 이미 오류가 발생한 것입니다.
한 가지 옵션은 빈 개체로 초기화하는 것입니다.
으아아아이 경우에는 userData.memberId
不会抛出错误,但会向该组件传递一个 undefined
값입니다.
또 다른 옵션은 userData
값이
어떤 옵션을 선호하는지는 전적으로 귀하에게 달려 있습니다. 하지만 가장 중요한 것은 undefined
에서 속성을 읽을 수 없다는 것입니다.