Apa ini
Ini adalah tinjauan kode solusi dari tugas tes kedua . Video ini menunjukkan solusi dan kesalahan yang berhasil, serta kiat untuk memperbaikinya. Catatan ini mengidentifikasi masalah umum dan menyediakan tautan dengan "cap waktu".

Masalah umum
- Readme salah;
- Ada peringatan eslint,
console.log
tambahan (redux-logger tidak masuk hitungan); - Ikon web tidak bergerak maju (tugas membaca tidak perhatian);
- Ikon Web didorong maju dalam komponen (dan itu akan lebih baik di peredam, atau tindakan);
- Kata sandi tidak dihapus jika permintaan dikembalikan dengan kesalahan;
- Tombol kirim dalam formulir masuk tersedia jika bidang kosong (atau salah satu bidang);
- Tombol kirim dalam formulir login tidak mendukung menekan Enter;
- Tidak membagi menjadi komponen / wadah (tidak berlaku untuk mereka yang berbagi dengan pendekatan lain);
- URL untuk permintaan ke server sepenuhnya ditransmisikan (tidak ada pendaftaran bagian berulang dari string sebagai konstanta);
- Kesalahan / pemberitahuan "nama pengguna / kata sandi salah" - tidak dihapus;
- Kesalahan "nama pengguna / kata sandi salah" - dihasilkan oleh konstanta dari server;
- Teks kesalahan dimasukkan dalam kode. Tidak ada akses ke kamus secara konstan dari server;
- "Kode lama" belum dihapus, yaitu, kode yang tidak digunakan di mana pun;
- Janji tidak memiliki blok tangkap, tidak ada penanganan kesalahan jika server menjawab tidak
ok
; - Komponen di-host di node_modules;
- Jenis Prop tidak ada atau tidak dijelaskan dengan benar.
- Tindakan dan reduksi pada tumpukan di satu file (atau dalam satu semua tindakan, di yang lain semua reduksi). Tidak ada pembagian ke dalam "modul", yaitu, setiap entitas - tindakannya sendiri dan reduksi;
Semua solusi cap waktu
Hanya kesalahan yang ditunjukkan di sini, dan poin - poin bagus tidak dicatat , di mana ada banyak sekali, jadi saya sangat merekomendasikan menonton semuanya secara berurutan kepada mereka yang menganggap diri mereka "Juni" dalam pengembangan saat bereaksi.
6m00s - Komit Arthur Donkovtsev
7m40s - salah ketik nama fungsi
8m07s - permintaan asinkron tidak diterapkan
9m30 - an - Pavel Pimkin Commit
10m07s - semua tindakan dalam satu file. Tidak membagi menjadi modul.
10m25s - penghapusan ikon (enumerasi data) dilakukan pada komponen. Lebih baik dalam peredam atau aksi.
11m42-an Sergey ZackFox Commit
12m28s - prasasti "keren". Lebih baik melakukannya "secara netral" sehingga tugas serupa dapat segera dikirim ke majikan.
13m05s - tindakan ekstra yang menunjukkan bahwa "unduhan" telah selesai. Artinya, alih-alih tiga tindakan: PERMINTAAN / SUKSES / BERHENTI, Anda bisa bertemu dua: PERMINTAAN / SUKSES.
16m16 - an - Dmitry Petrov Commit
18m16s - menggunakan var
18m34s - bagian dari alamat URL yang tidak konstan
21m15 - an - Komit Roti Yefim
21m17s - pesan komit buruk
22m15 adalah nama tindakan yang sama.
24m16s - Komit Katsura Vladislav
25m17s - (bukan kesalahan) - data disiapkan dalam peredam
27m38s - menggunakan e.target
, e.currentTarget
lebih baik
28m20s - ==
, tetapi akan diperlukan ===
28m33s - menggunakan componentWillUnmount
29m00s (bukan kesalahan) - alasan tentang "sebelum validasi server".
30m05s - kode tidak diformat (untuk seorang amatir)
30m33s - Maxim Safin Commit
31m35s - menggunakan handler "non-universal", jika perlu.
32m02 - an - Sergey Regies Linkas Commit
33m42s - tidak ada tindakan untuk preloader
34m30s - urutan metode dalam komponen. ( plugin eslint )
35m30 - an - PropTip yang tidak ada
35m57 - an - Kononov Vitaly Commit
38m02s - Renat Rysaev Commit
39m45s - jangan lakukan apa yang tidak menarik
40m31s - Evgeny Sanzhiev Commit
41m20s (bukan kesalahan) - kamus untuk bekerja dengan kesalahan
42m46s - Komitmen Tanggul Vitaliy
42m54s - data uji tidak dibersihkan
44m50 - an - Komit Veniamin Trepachko
Prestasi: desain yang sangat keren.
47m42s - versi redux tidak penuh.
47m57s - Ingvarr6 (Igor) Commit
48m21s - no 404 rute
51m20 - an - Catherine H Commit
51m30s - kesalahan tidak dihapus
54m48s - Komit Palestina Palestina
55m30s - tindakan unduhan / kesalahan tidak cukup
56m49s - menggunakan efek samping dalam peredam
58m10s - (bukan kesalahan) mengeluarkan ikon web menggunakan css (sakit!)
58m53s - Komit Umyar Yusupov
59m15s - menggunakan callback di setState, yang mengarah pada redrawing yang tidak perlu. Lebih baik memvalidasi langsung di render.
61m01s - penggunaan yang tidak tepat jika tidak
62m13s - dsfcv d (boortcore) Commit
Komitmen Konstantin Lipsky 63m15s
65m11s - seluruh URL diteruskan ke tindakan, lebih baik melewati id di opsi ini.
67m14s - Ikaow Ikaow Commit
67m50s adalah kondisi yang sulit di shouldComponentUpdate, ini bisa lebih sederhana (periksa segera pada props.data dan itu saja)
69m32s - e.preventDefault
bukan yang pertama di handler
70m01s - Ali Gasymov Commit
71m50s - Akhmetanov Albert Commit
72m20s - komponen dalam node_modules
73m15s - duplikat panggilan variabel
74m04s - Komit Putih Eugene
76m04s - privateRoute tidak dipindahkan ke komponen terpisah
76m33s - kode kompleks untuk memindahkan ikon web
76m56s - properti redundan dimuat
77m35s - Aladyin Alexander Commit
80m33s - kesalahan tidak dibuat dalam kamus
81m19s - Komit Misha Mihail
81m43s - penggunaan berlebihan withRouter
83m04s - Komit Dmitrii Shapovalenko
84m00 - an - Daniel Commit
84m58 - an - pembagian tindakan yang berlebihan
85m55s - kesalahan atas nama metode siklus hidup
86m58 - an - Komit Romawi Poroshin
87m15s - penggunaan tag article
secara semantik salah
90m46s - panggilan tambahan ke metode array
91m10s - Artem Bochkov Commit