Tuesday, October 30, 2018

Cara men-setup React Native + GraphQL + Relay Modern | AMTech

cara setup react native

Hallo Penggemar Koding Indonesia. Berjumpa kembali ditutorial membuat aplikasi android menggunakan React Native. Cara men-setup React Native + GraphQL + Relay Modern. Pada posting ini saya akan menunjukkan langkah-langkah dan beberapa tips untuk membuat lingkungan pengembangan menggunakan Relay dan GraphQL sehingga tanpa basa-basi mari mulai! 

Pertama apa itu Relay dan GraphQL?



GraphQL adalah cara baru untuk menulis API. GraphQL telah memperkenalkan pendekatan baru ke API di mana saya tidak memerlukan banyak layanan mikro Saya hanya memerlukan layanan mikro besar di mana saya dapat meminta apa yang saya inginkan dan mengembalikan saya data yang diminta, dan dengan itu mengurangi kemungkinan pengambilan berlebih ( lebih banyak data dari yang Anda butuhkan) dan underfetching (lebih sedikit data dari yang Anda butuhkan). Dan Relay adalah klien untuk dapat mengkonsumsi API besar ini yang memiliki toko / cache dan kursor sendiri.




Berikut ini beberapa langkah untuk menyiapkan lingkungan:

Langkah Satu: Buat Server GraphQL 
Untuk membuat server GraphQL, Anda bisa menggunakan Graph Cool sangat mudah untuk mengonfigurasinya seperti firebase tetapi menggunakan GraphQL sebagai bahasa kueri atau Anda dapat menggunakan create-graphql dengan menggunakan create-graphql Anda akan dapat membuat server GraphQL Anda sendiri benar-benar dari nol, dengan boiler ini Anda akan menemukan lingkungan GraphQL yang telah dikonfigurasi dengan otentikasi pengguna dan Anda hanya perlu menambahkan: loader, jenis, koneksi dan mutasi


Langkah Kedua: Tambahkan beberapa dependensi ke Project React-Native Anda:
Dependencies: yarn add react-relay relay
DevDependencies: yarn add relay-compiler babel-plugin-relay —-dev
  
Langkah Tiga: Setup .babelrc dan package.json 
Add this plugin on your .babelrc:

  "plugins": [["relay", { "schema": "data/schema.json" }]],
 


  
Plugin ini akan membantu kompilator dalam hal ini babel untuk memahami kode relay di dalam file .js Anda.

Add this to your package.json “scripts”:
"scripts": {
    "relay": "relay-compiler --src ./src --schema data/schema.graphql"
    "relay:watch": "yarn relay --watch",
},

Skrip ini akan mengkompilasi kode relay Anda sebelum kode berjalan, untuk meningkatkan kinerja, jadi ketika Anda mengubah kueri atau mutasi yang Anda perlukan untuk menjalankan yarn relay atau sebagai gantinya Anda dapat menggunakan yarn relay:watch untuk melihat perubahan dan kompilasi saat Anda mengubah kueri atau mutasi relai.
  
Langkah Empat: Buat Relay Enviroment 
Sekarang Anda perlu membuat lingkungan untuk terhubung ke GraphQL Anda, mari kita mulai! Kami akan menciptakan lingkungan dengan relay-runtime yang kami tambahkan sebelumnya pada langkah kedua


Anda akan menggunakan ini ketika Anda menggunakan QueryRenderer atau createMutation akan diteruskan sebagai parameter untuk terhubung ke server dan membuat fetch ke api.
  
Langkah Kelima: Membuat Pertanyaan dan Mutasi 
Sekarang mari siapkan beberapa mutasi dan kueri dengan relai. Jadi tanpa basa-basi lagi mari kita pergi! 
Membuat kueri dengan QueryRenderer:
Untuk ini kami akan gunakan QueryRenderer dari react-relay yang kami tambahkan sebelumnya
OBS: The ErrorView dan LoadingView harus dibuat sendiri jadi kreatif 😄🖖




Membuat Mutasi dengan createMutation:
Untuk ini kita akan menggunakan commitMutation dari react-relay yang telah kita tambahkan sebelumnya




Jadi sekarang kami membuat pertanyaan dan mutasi kami, kami hanya perlu menjalankannya 
 yarn relay untuk mengkompilasi kode Anda dan jika Anda membuat semua hal dengan benar maka akan dikompilasi.

PENTING - Relay sangat sensitif dengan penamaan, jadi Anda harus mengikuti pola mereka seperti ini:

For Queries:

YourComponent_viewer or YourComponent_query

For Mutations:

NameOfMutation + Mutation

Jika Anda membuat semua langkah ini di lingkungan estafet + graphql Anda akan baik-baik saja untuk mulai berkembang! Hi


sumber: https://codeburst.io/how-to-setup-a-react-native-graphql-relay-modern-a6a5f6c18353













Share:

2 comments:

Popular Posts

Recent Posts

Unordered List

Pages

Powered by Blogger.