Saya belajar Redux dengan Bereaksi dan menemukan kode ini. Saya tidak yakin apakah itu Redux khusus atau tidak, tetapi saya telah melihat potongan kode berikut dalam salah satu contoh.
@connect((state) => {
return {
key: state.a.b
};
})
Sementara fungsionalitasnya connect
cukup mudah, tapi saya tidak mengerti @
sebelumnya connect
. Bahkan bukan operator JavaScript jika saya tidak salah.
Dapatkah seseorang menjelaskan tolong apa ini dan mengapa ini digunakan?
Memperbarui:
Itu sebenarnya bagian react-redux
yang digunakan untuk menghubungkan komponen Bereaksi ke toko Redux.
javascript
reactjs
decorator
redux
Salman
sumber
sumber
Jawaban:
The
@
simbol sebenarnya ekspresi JavaScript saat ini diusulkan untuk menandakan dekorator :Berikut adalah contoh pengaturan Redux tanpa dan dengan dekorator:
Tanpa dekorator
Menggunakan dekorator
Kedua contoh di atas setara, hanya masalah preferensi. Juga, sintaksis dekorator belum dibangun ke dalam runtime Javascript apa pun, dan masih bersifat eksperimental dan dapat berubah. Jika Anda ingin menggunakannya, itu tersedia menggunakan Babel .
sumber
@connect(state => ({todos: state.todos}), dispatch => ({actions: bindActionCreators(actionCreators, dispatch)}))
Sangat penting!
Alat peraga ini disebut alat peraga keadaan dan mereka berbeda dari alat peraga normal, setiap perubahan pada alat peraga keadaan komponen Anda akan memicu metode render komponen berulang kali bahkan jika Anda tidak menggunakan alat peraga ini sehingga untuk Alasan Kinerja cobalah untuk mengikat hanya ke komponen Anda keadaan alat peraga yang Anda butuhkan di dalam komponen Anda dan jika Anda menggunakan sub alat peraga hanya mengikat alat peraga ini.
contoh: katakanlah di dalam komponen Anda, Anda hanya perlu dua alat peraga:
jangan lakukan ini
melakukan hal ini
sumber