Cara kami menggunakan status Anda sudah benar.
Kami melewati sebuah perkebunan.
Kami mendapatkan kembali array ini yang disimpan dalam konstanta ini tetapi cara kami memperbarui
keadaan tidak benar.
Ada satu perbedaan super penting ketika Anda membandingkan status penggunaan dan bagaimana Anda bekerja dengan status dan komponen fungsional dengan
bagaimana Anda bekerja dengan keadaan yang diatur dan untuk menyatakan dan komponen berbasis kelas.
Ada perbedaan penting antara kedua konsep ini untuk Anda sebagai sebuah negara.
Seperti yang saya sebutkan sebelumnya Anda tidak dapat mengelola keadaan apa pun itu tidak harus menjadi objek Anda hanya bisa
mengelola Beberapa teks di sini.
Tetapi di sini saya memutuskan untuk bekerja dengan sebuah objek karena saya memiliki dua tipe state atau dua field input
yang ingin saya kelola sekarang dalam komponen berbasis kelas.
Anda selalu harus menggunakan objek tetapi di sana setiap kali Anda memanggil kata negara yang pernah Anda
masuk ke kata negara digabung dengan keadaan Anda yang ada.
Jadi di sana jika kita melewatinya objek dengan properti judul itu akan bergabung dengan keadaan
kita saat ini dan jumlah properti tidak akan hilang tetapi hanya properti judul akan diperbarui dan
semua keadaan lama akan disimpan dengan Anda sebagai keadaan yang berbeda.
Fungsi pembaruan ini.
Elemen kedua dari array kami tidak diperbarui ke keadaan tetapi itu dengan mengganti keadaan saat ini dengan ini yang dalam
hal ini berarti jika kita mengetik ke judul negara baru kita hanya merupakan objek yang hanya
memiliki properti judul dan kita drop jumlahnya Properti.
Estate baru kami adalah objek yang tidak memiliki jumlah properti lagi.
Itu sebabnya saya mendapatkan peringatan ini bahwa input nomor tipe tidak terkontrol.
Itu input kedua kami dan saya mendapat peringatan tentang input utang ketika kita mengetikkan input pertama
karena input kedua adalah jumlah input di sini yang merupakan tipe No.
Ini tentu saja merujuk pada jumlah properti di negara kita.
Sekarang jika kita mengetikkan input pertama, kita memperbarui status untuk sekarang menjadi objek yang hanya memiliki properti judul maka
properti yang kita coba akses pada input kedua.
Jumlah properti tidak lagi ada dan itulah yang menyebabkan kesalahan ini.
Solusinya sederhana ketika kita memperbarui keadaan kita harus memastikan bahwa kita tidak kehilangan data lama.
Itu bukan tanggung jawab kita karena reaksi tidak menggabungkan itu secara otomatis untuk kita.
Dan sementara ini mungkin terdengar seperti perubahan yang buruk sementara ini mungkin terdengar seperti itu harus dilakukan
untuk kita nanti Anda akan belajar mengapa reaksi sebenarnya tidak digabung seperti untuk kita lagi karena sekarang
kita benar-benar memiliki lebih banyak fleksibilitas mengenai bagaimana kita mengelola negara jika kita memutuskan untuk mengelola beberapa keadaan objek yang
mungkin sangat baik dalam banyak situasi.
Kami harus memastikan bahwa setiap kali kami memperbarui kami tidak kehilangan data lama.
Jadi, ketika kami memperbarui judul di sini, kami juga harus mengatur jumlah properti dan cukup mengaturnya ke keadaan akun
saat ini kami.
Jadi untuk keadaan jumlah yang tidak berubah dengan mengakses keadaan input 0 sehingga keadaan saat ini jumlah dolar
snapshot misalnya di sisi lain ketika kita memperbarui jumlah kita juga
harus memastikan bahwa kita tidak kehilangan judul dengan juga mengatur ini ke keadaan input 0 judul titik.
Sekarang jika Anda melakukannya jika Anda memastikan bahwa ketika Anda memperbarui keadaan Anda tidak kehilangan informasi apa pun.
Sekarang jika saya mengetik di sini Anda melihat saya tidak mendapat peringatan lagi.
Dan tentu saja tombol ini tidak melakukan apa-apa karena kita tidak terhubung lagi.
Tetapi input ini sekarang bekerja dengan benar.
Kode kami di sini, kode yang diperbarui tidak 100 persen benar, namun alasan untuk data adalah bahwa saya mengakses snapshot keadaan saat
ini pada elemen array pertama dan tentu saja yang menyimpan snapshot keadaan saat
ini untuk siklus komponen render komponen ini.
Tetapi cara bereaksi pembaruan untuk menyatakan kita tidak memiliki jaminan 100 persen di sini bahwa snapshot keadaan kita saat
ini sebenarnya adalah keadaan terbaru yang kita lakukan.
Dan ini mungkin terdengar aneh tetapi karena cara kita bertindak membuat komponen pada pembaruan negara
dan sebagainya.
Secara teoritis Anda dapat memiliki kasus di mana ada banyak hal yang terjadi di halaman Anda.
Katakanlah banyak animasi atau banyak hal yang bereaksi memutuskan untuk menunda pembaruan keadaan sampai ada sedikit pekerjaan yang
terjadi dan karena itu pengguna mungkin mengetik di sini ke input judul sebelum input jumlah terbaru
karena pengguna juga mengetik dalam jumlah bidang input.
Sedetik yang lalu sebelum perubahan status dat telah ditampilkan di layar.
Sekarang sangat tidak mungkin hal ini terjadi.
Dan dalam aplikasi sederhana ini di sini tidak akan pernah terjadi sebenarnya.
Tetapi dalam aplikasi yang lebih kompleks, Anda dapat memiliki kasus di mana Anda mengubah beberapa negara
dan perubahan negara terbaru Anda belum dilakukan belum diberikan ke layar.
Karenanya jika Anda memiliki perubahan status baru, itu juga tergantung pada snapshot keadaan terbaru Anda.
Maka Anda tidak memiliki jaminan bahwa Snapshot keadaan ini telah dilakukan dengan baik atau dibuat dan
data untuk tahun ini.
Mengakses nilai negara terbaru kami seperti ini bukan cara yang ideal.
Alih-alih itu memperbarui fungsi sehingga fungsi ini disimpan dan disimpan sebagai elemen kedua dalam
array Anda memiliki bentuk alternatif yang dapat Anda gunakan alih-alih hanya meneruskan nilai ke fungsi pembaruan utang sehingga ke
fungsi yang menetapkan status baru.
Anda juga dapat melewatkan fungsi ke fungsi tersebut sebagai fungsi anonim.
Tapi tentu saja bisa juga yang bernama dan jika Anda melewati fungsi di sini yang tentu saja harus mengembalikan
nilai negara baru Anda pada akhirnya.
Dan saya membungkusnya dalam tanda kurung di sini sehingga saya dapat menggunakan notasi inline ini di sini.
Notasi fungsi panah sebaris ini bahwa setelah nilai t panah bisnis di mana mengembalikan dan mengembalikan objek di
sini tanpa tanda kurung tambahan ini akan diperlakukan sebagai badan fungsi dan ini hanya
akan menjadi badan fungsi yang salah.
Sekarang kami menunjukkan ke javascript bahwa ini di sini adalah fungsi tubuh kami dan ini sebenarnya adalah nilai balik
yang hanya merupakan objek.
Jadi sekarang kita mengembalikan objek itu.
Tetapi dalam fungsi yang kita lewati ini mengatur fungsi negara di sini sehingga untuk mengatakan di sana
kita mendapatkan argumen lewat secara otomatis dengan bereaksi.
Dan itulah status masukan kami sebelumnya atau apa pun yang Anda ingin menyebutnya.
Dan kita bisa menghilangkan tanda kurung ini di sini.
Jadi di sini fungsi ini sebenarnya akan memberi tahu reaksi bahwa kita ingin mendapatkan status terbaru yang kita atur.
Meskipun belum sepenuhnya berkomitmen untuk siklus render ini, maka sekarang status input sebelumnya memungkinkan kita
untuk mengakses status input sebelumnya seperti ini.
Dan perbedaan untuk menggunakan keadaan input 0 adalah bahwa kita sekarang tidak menggunakan keadaan
terbaru yang telah sepenuhnya berkomitmen dan yang digunakan dalam siklus render komponen ini, tetapi kami
menggunakan keadaan terbaru yang kami atur dengan fungsi pemutakhiran no masalah jika bereaksi sudah membuatnya kembali fungsi atau tidak berdasarkan
pembaruan terakhir itu.
Jadi sekarang di sini kita harus menjamin bahwa kita mendapatkan status terbaru setiap saat.
Itu tentu saja yang kita inginkan di sini di sini braket tambahan yang hilang dengan cara untuk menutup fungsi
input satu negara.
Jadi sekarang ini pendekatan yang saya selalu ingin gunakan di sana untuk input jumlah D.
Kami mendapatkan status masukan kami sebelumnya dan kemudian di sini kami mengembalikan objek javascript dan di objek itu dapat menggunakan
status input sebelumnya untuk menetapkan judul atau jumlah sekarang adalah bahwa jika kita menyimpannya dan kembali,
Anda akan benar-benar melihat perilaku aneh sekalipun.
Jika Anda mulai mengetik, Anda akan mendapatkan kesalahan dan kesalahan itu memberi tahu Anda bahwa Anda menggunakan kembali suatu acara secara esensial.
Sekarang masalahnya di sini adalah bahwa ketika kita meneruskan fungsi ke fungsi ini di sini ke fungsi set negara ini pada akhirnya
maka kita memiliki fungsi anonim ini di sini dan itu adalah penutupan.
Jadi itu hanyalah fungsi yang menutup nilai-nilai di sekitarnya dan dalam hal ini menutup fungsi kami
di sini.
Acara ini dimasukkan ke ini pada perubahan fungsi anonim dan dalam fungsi yang kita miliki di sini pada perubahan
yang kita panggil fungsi set negara ini jadi kita memanggil fungsi tapi kemudian saya juga mendefinisikan
fungsi bersarang lain di sini.
Jadi kita memiliki fungsi 1 yang merupakan fungsi acara kita dan fungsi 2 yang merupakan fungsi pembaruan kita.
Sekarang masalah dengan itu adalah bahwa jika dalam fungsi dalam ini di sini saya menggunakan sesuatu dari
fungsi luar yang saya lakukan saya menggunakan acara maka acara ini akan dikunci untuk keystroke pertama pada dasarnya yang
berarti bahwa untuk penekanan tombol berikutnya kami tidak menggunakan acara keystroke baru tetapi yang sebelumnya yang
tentu saja kemudian digunakan kembali dan yang menyebabkan kesalahan ini.
Sekarang biasanya itu tidak akan menjadi masalah tentu saja karena ya fungsi dalam ini
fungsi memperbarui keadaan ini adalah penutupan dan karena itu menutup DB objek yang berarti ia menyimpan
objek acara ini untuk pelaksanaannya sehingga ketika fungsi pemutakhiran antar negara berjalan yang terjadi secara asinkron, kami
dijamin akan menggunakan acara yang dipicu untuk penekanan tombol itu atau dibuat untuk penekanan tombol.
Masalah dengan peristiwa yang tidak benar-benar eksklusif untuk peristiwa dan bereaksi hanya adalah bahwa peristiwa reaksi bukan
peristiwa Dom asli tetapi peristiwa sintetik khusus yang dibuat oleh reaksi yang pada dasarnya mereplikasi peristiwa
Dom asli yang biasanya ia dapatkan tetapi bereaksi menambahkan faktor khusus untuk itu menarik objek
acara ini yang berarti menggunakan kembali objek acara.
Jadi alih-alih membuat objek acara baru untuk setiap keystroke, alih-alih menggunakan kembali objek sebelumnya dan
konsekuensi dari ini adalah bahwa untuk keystroke kedua karena kami memiliki penutupan dan
kami mengunci pada acara untuk keystroke pertama untuk keystroke kedua, kami masih menggunakan kembali objek yang sama yang
kami miliki untuk keystroke pertama dan mati tolong masalah di sini kami menggunakan kembali objek acara yang
salah karena cara bereaksi menangani objek acara.
Sekarang saya tahu ini terdengar sangat membingungkan India.
Ini benar-benar kasus khusus karena cara bereaksi menangani objek acara ini.
Solusinya adalah bahwa permulaan dari fungsi set state ini kita buat sebuah konstanta misalnya yang kita
dengar pada judul dapat memanggil judul baru dan nilai target event toko saya.
Sekarang akan dibuat ulang kapan pun di mana pun kita mengetik.
Dan sekarang kita membutuhkan fungsi tubuh yang sebenarnya.
Jadi kita perlu membungkusnya dengan kurung kurawal karena sekarang kita sebenarnya memiliki lebih dari satu baris.
Kami tidak hanya mengembalikan sesuatu, kami tidak hanya mengeksekusi satu ekspresi apa yang kami punya dua pernyataan
di sini.
Jadi sekarang Anda saya menyimpan judul baru untuk setiap keystroke dan sekarang ini di sini ini menetapkan
bahwa fungsi dengan fungsi batin bersarang ini dapat menggunakan judul baru dan ini akan Dale untuk sekarang menutup ekstrak baru ini
judul untuk setiap keystroke.
Alih-alih menggunakan peristiwa yang sama sepanjang waktu itu objek acara yang sama tentu saja kita melakukan hal yang sama
untuk jumlah mereka.
Kita sekarang perlu kurung kurawal di sekitar seluruh ekspresi fungsi ini di sini.
Lalu kita dapatkan yang baru, saya ingin mount dari target acara tidak berjudul nilai di sini dan jumlahnya sekarang hanyalah jumlah baru lagi
hanya karena kami menggunakan penutupan di sini dan kami ingin memastikan bahwa kami menghasilkan jumlah
baru untuk setiap keystroke.
Dan kemudian ini akan secara otomatis dipertimbangkan oleh fungsi dalam ini alih-alih menggunakan kembali objek acara
yang sama sepanjang waktu.
Sekarang dengan itu kita dapat menyimpan ini kembali dan sekarang mulai mengetik di sini dan sekarang semua bekerja.