Rumah >hujung hadapan web >tutorial js >React Data Ambil dengan Relay
Konsep Utama:
react-transmit
Mengatasi cabaran data reaksi:
Sebagai skala projek React, pengurusan data menjadi semakin kompleks. Walaupun React cemerlang sebagai lapisan pandangan, kekurangan awal mekanisme pemeliharaan data yang mantap membawa kepada cabaran. Flux, respons Facebook, pengendalian acara yang lebih baik tetapi memperkenalkan kerumitan dalam permulaan data. Relay bertujuan untuk menyelesaikan isu -isu ini.
Kelebihan Relay:
relay vs fluks:
Relay membina fluks tetapi menawarkan pelaksanaan yang lebih konkrit. Semasa berkongsi konsep seperti penghantar, tindakan, dan kedai, Hocs Relay memberikan pendekatan seni bina yang berbeza. Kesesuaian relay dengan pelaksanaan fluks yang sedia ada seperti Redux kekal sebagai kawasan perbincangan yang berterusan.
komponen pesanan tinggi (hocs) dalam relay:
hocs dalam komponen kanak -kanak bungkus relay, menguruskan pengambilan data, dan bertindak sebagai penghantar dan kedai. Kaedah seperti setQueryParams()
mencetuskan pengambilan dan kemas kini data. Contoh di bawah menggambarkan komponen ProfilePicture
menggunakan hoc relay:
<code class="language-javascript">class ProfilePicture extends React.Component { // ... } module.exports = Relay.createContainer(ProfilePicture, { fragments: { user: () => Relay.QL` fragment on User { profilePicture(size: $size) { uri, }, } `, }, });</code>
hoc ini mengambil data dan lulus sebagai prop untuk ProfilePicture
.
Peranan Graphql:
Integrasi GraphQL Relay memerlukan penubuhan skema dan pelayan GraphQL. Walaupun berkuasa, ini menambah kerumitan kepada projek sedia ada. react-transmit
menawarkan alternatif bebas graphQL.
status semasa relay dan pelan hala tuju masa depan:
Relay kini dalam pratonton teknikal sumber terbuka. Walaupun tidak mempunyai sokongan isomorfik penuh, rancangan masa depan termasuk penyesuai sumber data yang lebih luas dan keupayaan isomorfik yang lebih baik.
Soalan Lazim (Soalan Lazim):
Bahagian ini memberikan jawapan kepada soalan umum mengenai relay, perbandingannya dengan pelanggan GraphQL yang lain (klien Apollo, URQL), mekanisme pengambilan data, strategi caching, pengendalian ralat, pengkompil relay, penomboran, dan keserasian dengan perpustakaan lain. (Nota: Soalan Lazim Asal agak luas, dan menghasilkan semula mereka di sini akan terlalu lama. Titik utama diringkaskan di atas.)
Atas ialah kandungan terperinci React Data Ambil dengan Relay. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!