Rumah  >  Soal Jawab  >  teks badan

Isikan tatasusunan dengan pasangan nilai kunci

<p>Saya cuba mengisi tatasusunan dengan objek. Jika saya melaksanakan setState, entri baharu tidak ditambah, tetapi struktur tatasusunan diperluaskan. Contohnya: entri awal (0), entri baharu (0->0), entri lain (0->0->0). Walau bagaimanapun, saya ingin setiap penyertaan mempunyai nombor berturut-turut. </p> <pre class="brush:php;toolbar:false;">const [entrys, setEntrys] = useState([{ date: "", entry: "" }]); ->Butang klik setEntrys((sebelumnya) => [{ ...sebelumnya, tarikh: clickedDay, entri: hinweis }]);</pre>
P粉865900994P粉865900994435 hari yang lalu499

membalas semua(1)saya akan balas

  • P粉475315142

    P粉4753151422023-09-03 10:59:11

    Masalah yang anda hadapi ialah anda menggunakan keadaan sebelumnya dalam objek yang anda lalui, cth.

    Apa yang anda mahu lakukan ialah memasukkan keadaan sebelumnya dalam objek baharu yang disimpan untuk dinyatakan, cth. "sebelumnya" sebagai elemen berasingan dalam tatasusunan - seperti di bawah.

    Saya juga menyediakan anda dengan 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;

    balas
    0
  • Batalbalas