Kami menambahkan token di mana-mana yang penting tetapi untuk pesanan, kami tidak hanya ingin menambahkan token,
kami juga ingin memastikan bahwa pesanan benar-benar milik pengguna yang masuk.
Sekarang hal baiknya adalah kami menyimpan userId yang dihasilkan Firebase di toko Redux kami.
Jadi memetakan pesanan kami kepada pengguna tidak terlalu sulit, kami mendapatkan akses ke toko lengkap kami di
sini, sehingga kami bisa mendapatkan userId dengan memanggil getState. auth. userId, itu saja, ini
memberi kita userId dari pengguna yang saat ini masuk
dan sekarang kita bisa menyuntikkan ini di sini dan mengganti U1 hardcoded dengan userId.
Tentu saja tidak hanya untuk menambah pesanan tetapi juga untuk mengambil pesanan karena kami ingin mengambil pesanan dari
pengguna yang saat ini masuk.
Jadi di sini, mari kita juga menerima argumen kedua itu, dapatkan userId kami dan di sini bertukar
tanda kutip tunggal untuk kutu kembali sehingga kami dapat menggunakan injeksi nyaman dinamis ini di sini dan kemudian ganti atau interpolasi seperti
yang disebut string ini di sini dengan menambahkan userId. Jadi ini sekarang juga memastikan bahwa pesanan disimpan dengan benar tetapi
tentu saja
bukan hanya pesanan, produk juga harus disimpan seperti itu. Kita harus memastikan bahwa ketika kita membuat produk,
kita benar-benar menambahkan ID pemilik kita untuk itu, itu adalah sesuatu yang saat ini
tidak kita lakukan dan itu adalah sesuatu yang harus kita lakukan.
Jadi di sini, saya sebenarnya juga ingin mendapatkan userId di sini dalam membuat produk dan ketika saya
kemudian mengirim permintaan saya untuk membuat produk baru, saya tidak hanya ingin menetapkan judul, deskripsi dan sebagainya,
saya
juga ingin mengatur pemilik Bidang ID dan nama yang tepat terserah Anda, yang sama dengan userId dari pengguna yang masuk dan itu sekarang
sesuatu yang baru, sekarang
kami benar-benar mulai memetakan produk
ke pengguna, sesuatu yang hanya kami lakukan dengan cara dummy sebelumnya. Ini juga berarti dengan cara bahwa ketika kami mengirim membuat
produk di sini, saya ingin memberikan informasi baru, saya ingin menambahkan ID pemilik di sana juga dan
juga menunjuk pada userId di sini dan itu berarti bahwa dalam peredam produk, kita
perlu menghargai ini dan di sana, alih-alih membuat hardcoding ID ini di
sini, kita sekarang bisa mendapatkan ini dari tindakan kita. productData, dari ID pemilik di sana karena itulah
yang baru saja saya tambahkan di sana.
Jadi di sini produk, saya menambahkan ID pemilik, saya menambahkan kunci ini ke data produk, ke tindakan yang
saya kirim, sekarang di peredam, kita harus menggunakannya, ekstrak di sini dan menggunakannya sebagai ID pemilik produk yang
kami buat secara lokal di Redux.
Tentu saja ini juga berarti bahwa di sini, ketika saya mendapatkan produk milik pengguna itu, saya juga ingin memastikan bahwa
saya memfilter dengan benar untuk ID yang benar.
Jadi ketika kita memanggil set produk di sini, saya ingin memastikan bahwa produk
pengguna benar-benar difilter ke pengguna yang masuk, jadi di pembuat tindakan produk, ketika kami mengambil semua produk, di sini tentu saja saya ingin
mengambil semua produk tetapi di sana, saya juga ingin bisa mendapatkan negara saya sehingga saya bisa mendapatkan userId saya dari negara karena kemudian
di sini ketika kita membuat produk yang dimuat, saya tidak hanya ingin meneruskan itu,
saya juga ingin menambahkan pengguna baru kunci produk untuk objek tindakan saya di mana saya mengambil produk
yang dimuat dan di sini saya menyaringnya dan saya melihat setiap produk dan jika ID pemilik produk, jika itu sama dengan userId, maka saya ingin
menyimpannya karena itu itu adalah produk yang dibuat oleh pengguna yang saat ini masuk, jika
tidak
saya tidak akan menyimpannya.
Ini masih merupakan bagian dari produk yang dimuat yang saya berikan ke produk tetapi bukan bagian dari produk yang
saya berikan ke produk
pengguna dan yang memungkinkan saya untuk kembali ke peredam dan di sana dalam produk yang ditetapkan, produk pengguna diinisialisasi
bukan dengan menyaring di sini tetapi dengan menetapkan itu sama dengan produk tindakan pengguna yang sekarang mengambil produk yang difilter yang disaring dalam pembuat
tindakan dengan logika yang baru saja kita tulis di mana kita mengambil userId. Ini memastikan bahwa kami hanya melihat produk
yang benar-benar kami buat dan kami tidak melihat produk dari pengguna lain.
Sekarang tentu saja, sekarang kita juga dapat memastikan bahwa di toko produk kita di sini, kita tidak
memulai dengan produk tiruan kita tetapi kita
benar-benar mulai dengan array kosong dalam kedua kasus di sini. Ini juga berarti bahwa sekarang jika kita menyimpan ini dan kita
masuk, kita harus dapat melihat produk kita sebelumnya, ini
dia
tetapi jika saya pergi ke admin,
kita tidak melihatnya di sana dan itu masuk akal karena produk ini dibuat
sebelumnya dalam kursus dan karenanya tidak memiliki ID pemilik. Produk ini tidak memiliki ID pemilik, jadi karena itu tidak termasuk dalam produk pengguna mana pun
yang hebat karena sekarang saya punya contoh yang bagus bahwa belum ada produk,
mungkin kita juga harus menampilkan pesan di sini.
Sebagai catatan tambahan dalam pesanan, kami juga tidak melihat
apa pun dan mungkin kami juga harus menampilkan pesan di sini karena pesanan untuk U1, yang sekarang bukan lagi
ID pengguna
yang valid, jadi pesanan ini tidak pernah dimuat untuk pengguna mana pun dan itu bagus karena begitulah seharusnya.
Jadi sekarang dengan itu, saya hanya akan men-tweak halaman-halaman ini sedikit untuk menampilkan pesan jika kita tidak dapat memuat data apa pun.
Jadi di sini di layar produk pengguna, jika panjang produk pengguna sama dengan nol, maka saya tidak ingin mengembalikan daftar datar saya, tetapi sebaliknya saya
akan mengembalikan tampilan di sini di mana saya memiliki teks di mana saya mengatakan tidak ada produk yang ditemukan, mungkin mulai membuat beberapa dan
kita perlu menyiapkan beberapa gaya di sana, kita juga perlu mengimpor tampilan dan teks jika tidak
kita tidak dapat menampilkan ini dan sekarang
saya hanya akan melakukan
beberapa styling inline cepat dan kotor di sini dengan satu fleksibel, justify pusat konten dan menyelaraskan pusat item, tentu saja Anda
juga dapat menetapkan font Anda sendiri di sini untuk teks dan sebagainya, saya akan melakukannya
seperti ini dan kemudian menyalin ini dan memindahkannya ke layar pesanan, pastikan Anda
melihat inport dan teks di sana juga dan
kemudian di sini kita juga dapat menambahkan cek ini, jika panjang produk pengguna kosong, tentu saja di sini
kita harus memeriksa panjang pesanan, bukan panjang produk pengguna tetapi jika itu kosong, saya katakan tidak
ada pesanan ditemukan, mungkin mulai memesan beberapa produk seperti itu dan dengan itu, kita
harus melihat teks itu jika tidak ada yang ditemukan.
Jadi jika saya mencoba ini lagi dan masuk dengan cepat dan kami pergi ke halaman admin, kami melihat teks di sini dan jika kami pergi
ke halaman pesanan,
kami juga melihat teks di sini.
Jadi sekarang ini berfungsi sebagaimana mestinya.
Jika saya sekarang membuat produk baru di sisi lain, misalnya syal katakanlah dengan URL kecil yang bagus
yang saya pilih seharga $ 55. 99, syal wol, jika saya melakukan itu dan mengirimkan ini,
ini berfungsi dengan baik dan juga muncul di sini di bawah admin, juga muncul di bawah produk, kami tentu saja juga bisa menyaringnya di
luar sana jika Anda ingin tetapi mengapa tidak, mengapa tidakkah kita memilikinya
di sini juga dan
jika saya menambahkan ini ke keranjang dan saya mengklik pesanan sekarang, sekarang di sini di bawah pesanan, kita melihatnya dan di Firebase, kita
juga melihat bahwa di bawah pesanan sekarang kita memiliki simpul dengan userId dengan kita pesanan.
Jadi ini sekarang benar-benar bekerja dengan cara yang seharusnya di sini pada
aplikasi ini dan oleh karena itu sekarang di sini, kita memiliki pengaturan yang dengannya kita dapat bekerja.