84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
사용자 데이터를 업데이트하고 싶습니다. 기존 사용자 데이터를 성공적으로 가져왔지만 업데이트되지 않았습니다. 위와 같은 오류가 표시됩니다. 아래 줄에서 등호를 제거하면 오류는 제거되지만 사용자 데이터는 여전히 업데이트되지 않습니다.
const existingUser = users.userList.filter(f => f.id == id);
귀하의 데이터 구조가 무엇인지는 잘 모르겠지만 제공된 코드를 통해 문제가 무엇인지 설명하고 추측할 수 있습니다.
표시되는 오류는 existingUser 的第 0 个元素不存在。由于 existingUser가 필터에서 발생하고 필터가 배열을 반환한다는 의미이므로 필터 내부 조건이 어떤 요소에도 충족되지 않는다고 가정할 수 있습니다.
existingUser
추가=== 更改为 == 하면 작동할 것이라고 말하면 f.id와 id가 같은 유형이 아니라는 것을 추측할 수 있습니다. 어쩌면 하나는 문자열이고 다른 하나는 정수일 수도 있습니다.
===
==
==를 사용하면 실제로 원래 문제가 해결됩니다. 그러나 ===를 사용하려면 값 유형을 변경해 볼 수 있습니다. 예를 들어 id가 문자열이고 f.id가 정수인 경우 다음과 같이 조건을 작성할 수 있습니다.
Google 검색을 통해 차이점을 확인할 수 있습니다.
다음 문제는 위의 오류를 수정한 후에도 데이터가 업데이트되지 않는다는 것입니다. 이는 구성 요소에서 사용하는 디자인 패턴 때문입니다. useState는 초기 값만 취하고 setState를 사용하여 업데이트하지 않는 한 구성 요소의 전체 수명 동안 변경되지 않습니다.
setState
useSelector와 디스패치를 사용하고 있으므로 redux。在这种情况下,我认为不需要 useState。您只需使用从 existingUser[0] 中解构的名称和电子邮件,只要您发送更新를 사용하고 코드를 렌더링한다고 가정합니다.
redux
useState
existingUser[0]
名称
电子邮件
发送更新
귀하의 데이터 구조가 무엇인지는 잘 모르겠지만 제공된 코드를 통해 문제가 무엇인지 설명하고 추측할 수 있습니다.
표시되는 오류는
existingUser
的第 0 个元素不存在。由于existingUser
가 필터에서 발생하고 필터가 배열을 반환한다는 의미이므로 필터 내부 조건이 어떤 요소에도 충족되지 않는다고 가정할 수 있습니다.추가
===
更改为==
하면 작동할 것이라고 말하면 f.id와 id가 같은 유형이 아니라는 것을 추측할 수 있습니다. 어쩌면 하나는 문자열이고 다른 하나는 정수일 수도 있습니다.==를 사용하면 실제로 원래 문제가 해결됩니다. 그러나 ===를 사용하려면 값 유형을 변경해 볼 수 있습니다. 예를 들어 id가 문자열이고 f.id가 정수인 경우 다음과 같이 조건을 작성할 수 있습니다.
으아악Google 검색을 통해 차이점을 확인할 수 있습니다.
다음 문제는 위의 오류를 수정한 후에도 데이터가 업데이트되지 않는다는 것입니다. 이는 구성 요소에서 사용하는 디자인 패턴 때문입니다. useState는 초기 값만 취하고
setState
를 사용하여 업데이트하지 않는 한 구성 요소의 전체 수명 동안 변경되지 않습니다.useSelector와 디스패치를 사용하고 있으므로
redux
。在这种情况下,我认为不需要useState
。您只需使用从existingUser[0]
中解构的名称
和电子邮件
,只要您发送更新
를 사용하고 코드를 렌더링한다고 가정합니다.