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.
@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!
Komentar yang paling membantu
Harus diperbaiki di v0.3.1 - sekarang tersedia!