ホームページ  >  に質問  >  本文

「'既存のユーザー' のプロパティ 'name' は定義されていないため、構造化できません。Update.js:13」とはどういう意味ですか?

ユーザーデータを更新したいです。既存のユーザー データは正常に取得されましたが、更新されませんでした。上記のエラーが表示されます。 以下の行から等号を削除すると、エラーは削除されますが、ユーザー データはまだ更新されません。

const presentUser = users.userList.filter(f => f.id == id);

リーリー


P粉925239921P粉925239921264日前429

全員に返信(1)返信します

  • P粉979586159

    P粉9795861592024-01-02 11:26:30

    データ構造が何であるかはわかりませんが、提供されたコードから説明し、問題が何であるかを推測することができます。

    受け取ったエラーは、existingUser の 0 番目の要素が存在しないことを意味します。 existingUser はフィルターから取得され、フィルターは配列を返すため、フィルター内の条件がどの要素でも満たされていないと想定できます。

    ===== に変更すると機能するということは、f.id と id が同じ型ではないことが推測できます。おそらく、一方は文字列で、もう一方は整数です。

    == を使用すると、実際に元の問題が解決されます。ただし、=== を使用したい場合は、値のタイプを変更してみてください。たとえば、id が文字列で f.id が整数の場合、次のように条件を記述できます:

    リーリー

    Google 検索すると違いがわかります。

    次の問題は、上記のエラーを修正した後、データが更新されないことです。これは、コンポーネントで使用しているデザイン パターンが原因です。 useState は初期値のみを取り、setState を使用して更新しない限り、コンポーネントの存続期間中は変更されません。

    useSelector とdispatch を使用しているため、redux を使用していると思います。この場合、useState は必要ないと思います。 existingUser[0] から分解された nameemail を使用するだけで、これらは 更新コードを送信するたびに表示されます コード>。

    返事
    0
  • キャンセル返事