84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
ユーザーデータを更新したいです。既存のユーザー データは正常に取得されましたが、更新されませんでした。上記のエラーが表示されます。 以下の行から等号を削除すると、エラーは削除されますが、ユーザー データはまだ更新されません。
const presentUser = users.userList.filter(f => f.id == id);
データ構造が何であるかはわかりませんが、提供されたコードから説明し、問題が何であるかを推測することができます。
受け取ったエラーは、existingUser の 0 番目の要素が存在しないことを意味します。 existingUser はフィルターから取得され、フィルターは配列を返すため、フィルター内の条件がどの要素でも満たされていないと想定できます。
existingUser
=== を == に変更すると機能するということは、f.id と id が同じ型ではないことが推測できます。おそらく、一方は文字列で、もう一方は整数です。
===
==
== を使用すると、実際に元の問題が解決されます。ただし、=== を使用したい場合は、値のタイプを変更してみてください。たとえば、id が文字列で f.id が整数の場合、次のように条件を記述できます:
Google 検索すると違いがわかります。
次の問題は、上記のエラーを修正した後、データが更新されないことです。これは、コンポーネントで使用しているデザイン パターンが原因です。 useState は初期値のみを取り、setState を使用して更新しない限り、コンポーネントの存続期間中は変更されません。
setState
useSelector とdispatch を使用しているため、redux を使用していると思います。この場合、useState は必要ないと思います。 existingUser[0] から分解された name と email を使用するだけで、これらは 更新コードを送信するたびに表示されます コード>。
redux
useState
existingUser[0]
name
email
更新コードを送信するたびに表示されます
データ構造が何であるかはわかりませんが、提供されたコードから説明し、問題が何であるかを推測することができます。
受け取ったエラーは、
existingUser
の 0 番目の要素が存在しないことを意味します。existingUser
はフィルターから取得され、フィルターは配列を返すため、フィルター内の条件がどの要素でも満たされていないと想定できます。===
を==
に変更すると機能するということは、f.id と id が同じ型ではないことが推測できます。おそらく、一方は文字列で、もう一方は整数です。== を使用すると、実際に元の問題が解決されます。ただし、=== を使用したい場合は、値のタイプを変更してみてください。たとえば、id が文字列で f.id が整数の場合、次のように条件を記述できます:
リーリーGoogle 検索すると違いがわかります。
次の問題は、上記のエラーを修正した後、データが更新されないことです。これは、コンポーネントで使用しているデザイン パターンが原因です。 useState は初期値のみを取り、
setState
を使用して更新しない限り、コンポーネントの存続期間中は変更されません。useSelector とdispatch を使用しているため、
redux
を使用していると思います。この場合、useState
は必要ないと思います。existingUser[0]
から分解されたname
とemail
を使用するだけで、これらは更新コードを送信するたびに表示されます
コード>。