つまり、状態を保持する localStorage フックはすでにありますが、今度はオブジェクト内の 2 つの項目を更新したいと考えています
これはアップデートを追加する機能です
リーリーログに記録されると、次のような jobExperience 配列が取得されます。jobExperience: (6) ['0', '1', '2', '3', '4', '5' , { …} ]
1 つのオブジェクトのみを保存し、残りは数値に変換されます
アタッチされたジョブ オブジェクトからcurrentEditedJob: data.currentEditedJob 1,
を削除すると、すべてが正常に動作し、ステータスが正常に更新され、オブジェクトとして保存されることに気付きました。jobExperience: (6) [{…}、{…}、{…}、{…}、{…}、{…}、{…}]
解決策はありますか
ステータスを逐一更新してみましたが、うまくいきませんでした。
リーリーしかし、currentEditedJob: data.currentEditedJob 1,
を削除しない限り、同じエラーが発生します。
問題は、addWorkExperience 関数の currentEditedJob プロパティにあるようです。提供されたコードに基づくと、data.currentEditedJob は数値の文字列表現であるように見えます。これに 1 を加算すると、算術加算を実行するのではなく、数値が連結されます。
この問題を解決するには、data.currentEditedJob を数値に変換し、1 を加算します。 addWorkExperience 関数の更新バージョンは次のとおりです:
リーリーparseInt() を使用して data.currentEditedJob を数値に変換すると、加算操作が正しく機能し、ステータスが期待どおりに更新されます。