Füllen Sie ein Array mit Schlüssel-Wert-Paaren
P粉865900994
P粉865900994 2023-09-02 16:55:11
0
1
497
<p>Ich versuche, ein Array mit Objekten zu füllen. Wenn ich setState ausführe, werden keine neuen Einträge hinzugefügt, sondern die Struktur des Arrays erweitert. Zum Beispiel: erster Eintrag (0), neuer Eintrag (0->0), weiterer Eintrag (0->0->0). Allerdings möchte ich, dass jeder Eintrag eine fortlaufende Nummer hat. </p> <pre class="brush:php;toolbar:false;">const [entrys, setEntrys] = useState([{ date: "", Eintrag: "" }]); ->Klicken Sie auf die Schaltfläche setEntrys((prev) => [{ ...prev, date: clickedDay, Eintrag: hinweis }]);</pre>
P粉865900994
P粉865900994

Antworte allen(1)
P粉475315142

你遇到的问题是你在传递的对象中使用了先前的状态,例如使用了扩展运算符"prev"。

你想要做的是在保存到状态的新对象中包含先前的状态,例如"prev"作为数组中的一个单独元素 - 如下所示。

我还为你提供了一个codesandbox https://codesandbox.io/s/romantic-solomon-l566yy?file=/src/App.js

import "./styles.css";
import React, { useState } from "react";

const App = () => {
  const [entries, setEntries] = useState([
    {
      date: "",
      text: ""
    }
  ]);

  const handleClick = () => {
    setEntries((prevEntry) => {
      return [...prevEntry, { date: "date", text: "test" }];
    });
  };

  return (
    <div>
      <button onClick={handleClick}>Click me!</button>
    </div>
  );
};

export default App;
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!