Apollo-link-rest: Contoh Broken React-Apollo

Dibuat pada 7 Jun 2018  ·  6Komentar  ·  Sumber: apollographql/apollo-link-rest

Halo:

Saya baru saja mulai dengan apollo-link-rest dengan konfigurasi dasar di kotak kode react-apollo Anda .

Alih-alih menampilkan daftar acara TV, antarmuka menunjukkan kesalahan berikut: : Network error: Failed to execute 'fetch' on 'Window': Invalid credentials mode .

Saat mereplikasi kode itu di lingkungan create-react-app saya sendiri, saya juga menemukan kesalahan berikut saat menjalankan permintaan di Apollo DevTools:

{
  "errors": [
    {
      "message": "forward is not a function",
      "locations": [
        "TypeError: forward is not a function\n    at RestLink../node_modules/apollo-link-rest/bundle.umd.js.RestLink.request (http://localhost:3000/static/js/bundle.js:21028:20)\n    at http://localhost:3000/static/js/bundle.js:19809:33\n    at ApolloLink.request (http://localhost:3000/static/js/bundle.js:17407:12)\n    at ApolloLink.request 
    }
  ]
}

Terima kasih banyak atas pekerjaan Anda pada tautan ini! Itu membuat bekerja dengan REST jauh lebih mudah dikelola dengan menghadirkan fitur-fitur mirip GraphQL bagi kita yang terjebak dengan REST API.

help wanted 🛠 question❔

Komentar yang paling membantu

Harus diperbaiki di v0.3.1 - sekarang tersedia!

Semua 6 komentar

@sinisterra Ketika kami melihat forward is not a function di aplikasi kami, biasanya karena kami lupa petunjuk @client atau @rest(…) pada salah satu node. Apakah itu kasus Anda?

Sehubungan dengan kesalahan Anda dengan fetch - browser apa yang sedang Anda uji?

@fbartho Tidak, saya menjalankan kueri yang persis sama dari contoh, perintah @rest sedang diterapkan dengan benar. Saya menggunakan Google Chrome 67.0.3396.62. Ketika saya mencoba menjalankan contoh di Firefox 60.0.1, itu juga gagal tetapi dengan kesalahan yang berbeda: Network error: 'credentials' member of RequestInit 'null' is not a valid value for enumeration RequestCredentials.

ini bukan hanya tentang contoh yang rusak! Saya pikir masalah ini sangat kritis.
Saya juga mendapatkan kesalahan yang sama sekarang, di lingkungan produksi saya yang berfungsi dengan baik beberapa bulan terakhir menggunakan apollo-link-rest. Saya kira ini pasti karena pembaruan browser?
Saya menggunakan chrome Version 67.0.3396.79 (Official Build) (64-bit)

Masalah yang sama terjadi di safari dan firefox .. Saya sama sekali tidak mengerti tbh .. versi yang sama dari aplikasi saya berfungsi dengan baik sejak May24.

ini hanya terjadi dengan permintaan yang saya lakukan dengan apollo-link-rest, meskipun saya telah mengkonfigurasi fn customFetch saya, yang berfungsi. ¯_ (ツ) _ / ¯

Saya juga mendapatkan kesalahan yang sama saat menghapus konfigurasi customFetch .

Saya benar-benar menemukan masalahnya.
Saya menggunakan fungsi customFetch , yang dipanggil oleh apollo-link-rest dengan parameter opsi credentials: null . Ini menyebabkan kesalahan ini dengan semua browser termasuk versi baru chrome.

perbaikan cepat saya untuk fungsi pengambilan khusus saya karena saya tidak menggunakan kredensial adalah sebagai berikut:

export function fetchWithAuth(url, options = {}) {
  // this fixes apollo-link-rest providing credentials: null options
  const { credentials, ...opt } = options
  return fetch(url, getOptions(opt));
}

Saya juga membenturkan kepalaku ke dinding, mendapatkan "Kesalahan Jaringan: Gagal Mengambil" yang mencegah kueri dijalankan bahkan dengan apollo-link-rest. @JuHwon benar, ini tampaknya terkait dengan opsi kredensial di konstruktor RestLink. Meskipun sebelumnya berfungsi sebagai opsional menurut dokumentasi, saya sekarang hanya bisa membuatnya berfungsi setelah menyertakan opsi seperti ini:

const restLink = new RestLink({  
  uri: ${process.env.REACT_APP_API_URL}/,  
  credentials: 'same-origin',  // eg. or credentials: 'omit', etc
});

Harus diperbaiki di v0.3.1 - sekarang tersedia!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat