Pada dasarnya kondisi harus bernilai benar atau salah. Ini berbeda dari cara kerja conditional di js. Inilah yang saya maksud:
data.length > 0 && <div />
data.length && <div />
Dalam kasus pertama, jika ukuran array adalah 0, 0 > 0akan mengevaluasi untuk falsejadi false && [anything really]mengevaluasi ke false, sehingga komponen tidak akan diberikan.
Namun, dalam yang kedua, jika ukurannya 0, 0 && <div />dievaluasi menjadi 0<div />. Dengan kata lain, baik 0 dan elemen akan dirender. Berasal dari js, saya berharap &&operator memaksa 0 di sisi kiri menjadi boolean (salah) tetapi itu tidak terjadi, jadi keduanya dirender - begitukah cara kerja jsx?
Anda akan mengharapkan pernyataan 0 && <div />untuk mengevaluasi ke false. Itu sebenarnya akan terjadi di luar jsx.
const value = data.length ? 1 : 0;
Bagaimana dengan pernyataan di bawah ini, menurut Anda bagaimana hasilnya?
data.length ? <div />: <err />;
Jadi tebak itu bermuara pada bagaimana operator binary (&&)and ternary (? :)menangani kondisi di jsx — satu memaksa (ternary) dan yang lainnya tidak (biner).
Bagaimana jika kita beralih di sekitar operan dari operator biner
<div /> && data.length > 0
Saya tahu orang-orang yang menjauhi operator biner di jsx sama sekali karena sifatnya yang tidak deterministik. Mereka menggunakan terner dan menyediakan nullsebagai operan ketika mereka tidak menginginkan apa pun yang dirender untuk evaluasi tertentu.
Saya juga menemukan aturan di atas berfungsi sama untuk dynamic classNames.
Katakanlah Anda memiliki komponen yang menunjukkan langkah saat ini dalam suatu proses, dan Anda ingin memberikan warna/perilaku yang berbeda — memperluas gaya untuk semua komponen langkah.
<div className={`step ${current ? 'current' : ''}`} />
Bagaimana dengan menggunakan nulloperan untuk evaluasi palsu?
<div className={`step ${current ? 'current' : null}`} />
Bagaimana kalau menjadi biner? Nah, mari kita lihat…
<div className={`step ${current && 'current'}`} />
Favorit saya masih string kosong ''untuk evaluasi palsu. Beri tahu saya teknik yang Anda terapkan .
Jika cara Anda mendesain komponen, Anda tidak akan mewarisi gaya apa pun, seperti yang saya lakukan di atas (di mana semua komponen saat ini dan tidak saat ini memiliki kelas induk step) — dan mungkin bersedia menduplikasi beberapa aturan ( apa kerusakannya) maka masalahnya bisa menjadi lebih mudah:
<div className={current ? 'current' : 'not-current'} />
Tetap saja, favorit saya adalah ''.
Pendahuluan Stroke adalah keadaan darurat medis yang dapat menyerang siapa saja kapan saja. Itu terjadi ketika aliran darah ke bagian otak terganggu, yang menyebabkan hilangnya fungsi otak secara tiba-tiba.
Minggu ini, saya menerima email dari anggota daftar email harian. Mereka ingin tahu: Sumber daya apa yang Anda kunjungi setiap hari, setiap minggu, dan setiap bulan? Pertanyaan bagus! Saya senang untuk mencoba membagikan beberapa wawasan tentang alur kerja saya & sumber daya teratas yang saya gunakan.
Berapa kali Anda membuang botol plastik, toples kaca, kaleng aluminium, atau paket energi hijau tanpa berpikir dua kali? Berapa kali Anda berharap bisa mendapatkan sesuatu sebagai imbalan untuk mendaur ulangnya? Jika Anda seperti kebanyakan orang, jawabannya mungkin berkali-kali. Daur ulang sering dianggap merepotkan, tugas, atau tugas yang tidak membawa manfaat langsung atau nyata.
Apa yang lama sekarang menjadi baru lagi dan apa yang dulu berkilau berkilau sekarang terasa kusam. Saya tidak berbicara tentang jeans JNCO yang kembali populer di antara anak-anak keren di pusat kota bersama dengan mode akhir 1990-an lainnya.
Kita sering menemukan diri kita berjuang untuk menerapkan apa yang kita tahu baik untuk kita. Dari memberi tahu orang penting bahwa kita mencintai mereka hingga mengingat untuk berbicara seperti bajak laut, akan selalu ada orang yang mengklaim bahwa acara sehari, seminggu, atau sebulan tidak diperlukan karena mereka sudah melakukan hal-hal itu.
Sudah lewat tengah malam ketika Hayden mengantar Katie kembali ke asrama kampusnya setelah malam mereka bersama. Dia memiliki kelas awal di pagi hari dan tidak memiliki pakaian ganti lagi setelah tinggal bersamanya malam sebelumnya.