配列にキーと値のペアを入力します
P粉865900994
2023-09-02 16:55:11
<p>配列にオブジェクトを入れようとしています。 setStateを実行すると、新しいエントリは追加されませんが、配列の構造は拡張されます。例: 最初のエントリ (0)、新しいエントリ (0->0)、別のエントリ (0->0->0)。ただし、各エントリには連続番号が必要です。 </p>
<pre class="brush:php;toolbar:false;">const [entrys, setEntrys] = useState([{ date: "",entry: "" }]);
-> ボタンをクリック
setEntrys((prev) => [{ ...prev、日付: clickedDay、エントリ: hinweis }]);</pre>
あなたが遭遇する問題は、たとえばスプレッド演算子「prev」を使用するなど、渡すオブジェクト内で以前の状態を使用していることです。
あなたがやりたいことは、状態に保存された新しいオブジェクトに前の状態を含めることです。たとえば、以下のように、配列内の別の要素として「prev」を含めます。
コードサンドボックス https://codesandbox.io/s/romantic-solomon-l566yy?file=/src/App.js も提供します。
リーリー