Apollo-link-rest: "рд▓реЗрдЦрди рддреНрд░реБрдЯрд┐: рдЖрдЧреЗ рдХреЛрдИ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ"

рдХреЛ рдирд┐рд░реНрдорд┐рдд 14 рдирд╡ре░ 2018  ┬╖  19рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: apollographql/apollo-link-rest

рд╣рд┐рдпрд╛,

рдЬрдм рднреА рдореИрдВрдиреЗ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рд╣рд░ рдмрд╛рд░ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ: рдЕрдкреЛрд▓реЛ рджреЗрд╡рдЯреВрд▓ рдореЗрдВ рдЧреНрд░рд╛рдлреАрдХреНрдпреВрдПрд▓ рдЦреЛрд▓рдирд╛ рд╣рдореЗрд╢рд╛ "рдЯрд╛рдЗрдк рдПрд░рд░: рдлреЙрд░рд╡рд░реНрдб рдХреЛрдИ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ" рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рддреНрд░реБрдЯрд┐ рдХрд╛ рдкреВрд░рд╛ рдкрд╛рда:

{ "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:5566:24)\n at http://localhost:3000/static/js/bundle.js:5746:33\n at ApolloLink.request (http://localhost:3000/static/js/bundle.js:2602:20)\n at ApolloLink.request (http://localhost:3000/static/js/bundle.js:5745:31)\n at chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/backend.js:1:3681\n at e.request (chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/backend.js:1:38654)\n at chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/backend.js:1:3681\n at e.request (chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/backend.js:1:38421)\n at chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/backend.js:1:3681\n at chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/backend.js:1:38085\n at new s (chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/backend.js:1:4855)\n at l.subscribe (chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/backend.js:1:6185)\n at n.<anonymous> (chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/backend.js:1:38914)\n at n.t.emit (chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/backend.js:1:52786)\n at chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/backend.js:1:19519\n at n (chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/backend.js:1:36148)" ] } ] }

@rest рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде рдкреНрд░рд╢реНрди рдФрд░ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдХреЛрдИ рдЕрдиреНрдп рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдлреЗрдВрдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╡рд░реБрджреНрдз рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдХреБрдЫ рдЕрдиреНрдп рдЕрдкреЛрд▓реЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ @client рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрд╕реА рддреНрд░реБрдЯрд┐ рдХреЛ рдлреЗрдВрдХрддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рддреНрд░реБрдЯрд┐ рдкреЗрд▓реЛрдб aрдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдЕрдкреЛрд▓реЛ рд╕реЗ рдШрдЯрдХ)ред

рдореИрдВрдиреЗ рддреАрди рдЙрджрд╛рд╣рд░рдг рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдЕрдкреЛрд▓реЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ (рд╕рд░рд▓, рдЙрдиреНрдирдд, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ) рдХреЛ рдХреНрд▓реЛрди рдХрд┐рдпрд╛ рдФрд░ рддреАрдиреЛрдВ рдореЗрдВ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред #121 рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ; рдЬреЛ рд╕реБрдзрд╛рд░ рд╢рд╛рдорд┐рд▓ рд╣реИ рд╡рд╣ рдПрдХ рдЕрд▓рдЧ "рд▓рд╛рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓" рдмрдЧ рдХреЗ рд▓рд┐рдП рд╣реИред рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдХрд╛рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд▓рд╛рдкрддрд╛ @rest рдпрд╛ @client рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рднреА рдЙрд▓реНрд▓реЗрдЦ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдирдореВрдирд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдореЗрд░реЗ рдЕрдкрдиреЗ рд╕рд╛рде рднреА рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдПрдХ рд▓рд╛рдкрддрд╛ рдирд┐рд░реНрджреЗрд╢ рдЕрдкрд░рд╛рдзреА рд╣реИред

рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдЙрджрд╛рд╣рд░рдг рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдХреНрд▓реЛрди рдХрд░реЗрдВ, рдХреНрд░реЛрдо рдореЗрдВ рдЕрдкреЛрд▓реЛ рджреЗрд╡ рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рдЦреЛрд▓реЗрдВ (рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдпрд╣ рддреНрд░реБрдЯрд┐ 70.0.3538.77 рд╣реИ)ред

рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдкреИрдХреЗрдЬ рдХреЛ рдкрд╕рдВрдж рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рдкрд╛рдПрдВ!

bug ЁЯРЫ enhancementЁЯТб has-reproduction help wanted ЁЯЫа questionтЭФ

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдирдорд╕реНрддреЗ! рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛ рджреЗрдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЛ рдЕрдкреЛрд▓реЛ-рдХреНрд▓рд╛рдЗрдВрдЯ-рджреЗрд╡рдЯреВрд▓ рджреНрд╡рд╛рд░рд╛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рдпрд╣ рдпрд╣рд╛рдВ рдЖрддрд╛ рд╣реИ , рддреЛ forward рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИред

рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЕрдиреНрдпрдерд╛ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдмрдирд╛рдКрдВрдЧрд╛ред рдЬрдм рдореИрдВрдиреЗ !isRestQuery рдЪреЗрдХ рдХреЛ !isRestQuery && forward рдореИрдВ рдЙрдкрд░реЛрдХреНрдд рддреНрд░реБрдЯрд┐ рдХреЛ рд╢рд╛рдВрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рдПрдХ рдирдИ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА:

Error: Type Query must define one or more fields.
    at t.assertValidSchema (chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/devtools.js:1:258433)
    at O (chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/devtools.js:1:272246)
    at k (chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/devtools.js:1:271277)
    at t.execute (chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/devtools.js:1:270565)
    at t.v (chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/devtools.js:1:806774)
    at t.n.emit (chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/devtools.js:1:394893)
    at chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/devtools.js:1:517657

рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдРрдк рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрддрд╛/рдбреАрдмрдЧ рдХрд░рддрд╛ рдерд╛: https://github.com/Hilaryous/simple-react-app/tree/apolo-link-rest-exampleред

рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд░ рдЖрдкрдХреЗ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЕрдЧрд░ рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

рд╕рднреА 19 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЧреНрд░рд╛рдлрдЖрдИрдХреНрдпреВрдПрд▓ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд╕реНрдЯреЗрдЯ/рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ - рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╡реЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд▓рд┐рдВрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЙрд╕ рдХрд╛рдо рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ?

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЕрдкреЛрд▓реЛ рджреЗрд╡ рдЙрдкрдХрд░рдг рдореЗрдВ рдЧреНрд░рд╛рдлрд╝реАрдХреНрдпреВрдПрд▓ рдХрд╛рдо рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред JSONPlaceholder api рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ https://jsonplaceholder.typicode.com рдкрд░ рд╕реЗрдЯ рд╣реИ - рдХрд┐рд╕реА рднреА рдкреНрд░рд╢реНрди рдХреЛ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореБрдЭреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЬреЛ рдорд┐рд▓рддрд╛ рд╣реИ рд╡рд╣ рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

apollo-devtools-initial

рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж:

apollo-devtools-users

рдпрд╛ "рд╕рд░рд▓" рдЙрджрд╛рд╣рд░рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде:

apollo-devtools-simple

рдХреБрдЫ рдФрд░ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ "рдХреИрд╢ рд╕реЗ рдкрдврд╝рд╛" рд╡рд┐рдХрд▓реНрдк JSONPlaceholder api рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЧрдИ рдирдИ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ; рдПрдХ POST рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рдХреИрд╢ рдореЗрдВ рдареАрдХ рд╕реЗ рдПрдХ рдирдИ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд▓рд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рдж рдХреА рдХреНрд╡реЗрд░реА "рдХреИрд╢ рд╕реЗ рдкрдврд╝рдиреЗ" рдХреЗ рд╕рд╛рде рднреА рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреА рд╣реИред рдЪреВрдВрдХрд┐ рдирдИ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░рд┐рдореЛрдЯ рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╕реЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╢реВрдиреНрдп рдирд╣реАрдВ рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреИрд╢ рдореЗрдВ рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рдЗрд╕рд▓рд┐рдП "рдХреИрд╢ рд╕реЗ рдкрдврд╝реЗрдВ" рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╣ рд╢рд╛рдпрдж рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдЕрдЬреНрдЮреЗрдпрд╡рд╛рджреА рд╣реИ, рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред

рдореБрдЭреЗ рдЧреНрд░рд╛рдлрд╝реАрдХреНрдпреВрдПрд▓ рдореЗрдВ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ, forward is not a function ред рд╣рд╛рд▓рд╛рдВрдХрд┐ cache рдЕрд▓рд╛рд╡рд╛ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

рдЗрд╕ рд▓реЛрдЧреЛрдВ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ, рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереА :(

@ctoddart рдЖрдкрдХрд╛ рдХреИрд╢ рдкреИрдирд▓ рдЦрд╛рд▓реА рд╣реИ, рд╕рд╣реА рд╣реИ?

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдмрд┐рдирд╛ devtools рдХреЗ рдХреИрд╢ рдХреЛ рдХреИрд╕реЗ рджреЗрдЦрдирд╛ рд╣реИ?

рдореИрдВ рд╡рд╣реА рдЕрдиреБрднрд╡ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред @cgatian рд╣рд╛рдБ, рдореЗрд░рд╛ рдХреИрд╢ рдкреИрдирд▓ рдЦрд╛рд▓реА рд╣реИред

рдЬрдм рдпреЗ рдЯреВрдЯ-рдлреВрдЯ рдЗрддрдиреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╣реЛрддреЗ рд╣реИрдВ рддреЛ рдЕрдкреЛрд▓реЛ рдХреЗ рдЯреВрд▓рдЪреЗрди рдХреЛ рдЧрд▓реЗ рд▓рдЧрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдкрд░ рдЕрднреА рднреА рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ?

@ рд╣реЗрдореИрди - рд╣рд╛рдБ рдЕрдкреЛрд▓реЛрд▓рд┐рдВрдХрд░реЗрд╕реНрдЯ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реИред рдореБрдЭреЗ рдкреАрдЖрд░ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдбрд┐рд▓реАрд╡рд░ рдХрд░рд╛рдиреЗ рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ ApolloDevTools рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИред

рд╣рдореЗрдВ рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ рдпрд╛ рддреИрдпрд╛рд░ рд╣реИред рдореИрдВ рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреБрдиреМрддреА рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдЧреБрдо рд╣реИ рдФрд░ рдореБрдЭреЗ рдЖрдкрдХреЗ рдпреЛрдЧрджрд╛рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛!

рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдиреЗ рдХрднреА рдЕрдкреЛрд▓реЛрдбреЗрд╡рдЯреВрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдЯреВрдЯ-рдлреВрдЯ рд╕реЗ рдХрдо рд╣реИ, рдФрд░ рдПрдХ рд▓рд╛рдкрддрд╛ рд╡рд╛рдВрдЫрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ ред

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд░рд┐рдПрдХреНрдЯ-рдиреЗрдЯрд┐рд╡ рдХреЗ рд╕рд╛рде рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рдЕрдкреЛрд▓реЛрдбреЗрд╡рдЯреВрд▓ рд░рд┐рдПрдХреНрдЯ-рдиреЗрдЯрд┐рд╡ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рдерд╛ред

рдЙрдиреНрд╣реЛрдВрдиреЗ рддрдм рд╕реЗ рдШреЛрд╖рдгрд╛ рдХреА рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдкрдиреА рдЯреАрдо рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП ApolloDevTools рдХреЛ рд╕рдХреНрд░рд┐рдп рдирд╣реАрдВ рдХрд░ рдкрд╛рдпрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИред

рдирдорд╕реНрддреЗ! рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛ рджреЗрдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЛ рдЕрдкреЛрд▓реЛ-рдХреНрд▓рд╛рдЗрдВрдЯ-рджреЗрд╡рдЯреВрд▓ рджреНрд╡рд╛рд░рд╛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рдпрд╣ рдпрд╣рд╛рдВ рдЖрддрд╛ рд╣реИ , рддреЛ forward рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИред

рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЕрдиреНрдпрдерд╛ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдмрдирд╛рдКрдВрдЧрд╛ред рдЬрдм рдореИрдВрдиреЗ !isRestQuery рдЪреЗрдХ рдХреЛ !isRestQuery && forward рдореИрдВ рдЙрдкрд░реЛрдХреНрдд рддреНрд░реБрдЯрд┐ рдХреЛ рд╢рд╛рдВрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рдПрдХ рдирдИ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА:

Error: Type Query must define one or more fields.
    at t.assertValidSchema (chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/devtools.js:1:258433)
    at O (chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/devtools.js:1:272246)
    at k (chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/devtools.js:1:271277)
    at t.execute (chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/devtools.js:1:270565)
    at t.v (chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/devtools.js:1:806774)
    at t.n.emit (chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/devtools.js:1:394893)
    at chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/dist/devtools.js:1:517657

рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдРрдк рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрддрд╛/рдбреАрдмрдЧ рдХрд░рддрд╛ рдерд╛: https://github.com/Hilaryous/simple-react-app/tree/apolo-link-rest-exampleред

рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд░ рдЖрдкрдХреЗ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЕрдЧрд░ рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕рдореЗрдВ рднрд╛рдЧ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рддреНрд░реБрдЯрд┐ рдХреЛ рдХрдо рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдореЗрд░рд╛ рдорд╛рдорд▓рд╛ рдЖрддреНрдордирд┐рд░реАрдХреНрд╖рдг рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рд╣реИ, рдЬреЛ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рдлрд╝рд┐рдХрд▓/рджреЗрд╡рдЯреВрд▓ рд╕реНрдХреАрдорд╛ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рдлрд╝рд┐рдХрд▓ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреВрдЫрддрд╛рдЫ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐, рдореИрдВ рдХреЗрд╡рд▓ рдЕрдкреЛрд▓реЛ-рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдХреИрд╢ рд╕реНрдХреАрдорд╛ (рдпрджрд┐ рдХреЛрдИ рд╣реИ) рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХреЛрдИ рд╕рд░реНрд╡рд░ рдпрд╛ рд╕реНрдХреАрдорд╛ рдирд╣реАрдВ рд╣реИред рдмрджрд▓реЗ рдореЗрдВ, рдореЗрд░рд╛ рдЕрдкреЛрд▓реЛ рджреЗрд╡рдЯреВрд▓ рдЦрд╛рд▓реА рд╣реИред рдмрд┐рд▓реНрдХреБрд▓ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдлрд┐рдХреНрд╕ рд╣реЛрдЧрд╛, рд╕рдм рдХреБрдЫ рдПрдХ рдмрд┐рдВрджреБ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛ред

рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕рдореЗрдВ рднрд╛рдЧ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рддреНрд░реБрдЯрд┐ рдХреЛ рдХрдо рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдореЗрд░рд╛ рдорд╛рдорд▓рд╛ рдЖрддреНрдордирд┐рд░реАрдХреНрд╖рдг рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рд╣реИ, рдЬреЛ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рдлрд╝рд┐рдХрд▓/рджреЗрд╡рдЯреВрд▓ рд╕реНрдХреАрдорд╛ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рдлрд╝рд┐рдХрд▓ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреВрдЫрддрд╛рдЫ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐, рдореИрдВ рдХреЗрд╡рд▓ рдЕрдкреЛрд▓реЛ-рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдХреИрд╢ рд╕реНрдХреАрдорд╛ (рдпрджрд┐ рдХреЛрдИ рд╣реИ) рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХреЛрдИ рд╕рд░реНрд╡рд░ рдпрд╛ рд╕реНрдХреАрдорд╛ рдирд╣реАрдВ рд╣реИред рдмрджрд▓реЗ рдореЗрдВ, рдореЗрд░рд╛ рдЕрдкреЛрд▓реЛ рджреЗрд╡рдЯреВрд▓ рдЦрд╛рд▓реА рд╣реИред рдмрд┐рд▓реНрдХреБрд▓ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдлрд┐рдХреНрд╕ рд╣реЛрдЧрд╛, рд╕рдм рдХреБрдЫ рдПрдХ рдмрд┐рдВрджреБ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛ред

рдореБрдЭреЗ рднреА

рд╣рдордиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдкрд┐рдЫрд▓реЗ рдЧреБрд░реБрд╡рд╛рд░ рдХреА рддрд░рд╣, рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд╕реНрдЯреЗрдЯ, рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдбреАрдмрдЧрд░ рдореЗрдВ рдЕрдкреЛрд▓реЛрдбреЗрд╡рдЯреВрд▓ рдХреЛ рдХрд╛рдо рдХрд░рддреЗ рджреЗрдЦрд╛ред рдХреНрдпрд╛ рд╣рдореЗрдВ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдПрдХ рд╕рдХреНрд░рд┐рдп рд╕рдорд╕реНрдпрд╛ рд╣реИ? @ edgars-sirokovs рдкрд░ рдЖрдк рдХреМрди рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ?

рд╣рдордиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдкрд┐рдЫрд▓реЗ рдЧреБрд░реБрд╡рд╛рд░ рдХреА рддрд░рд╣, рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд╕реНрдЯреЗрдЯ, рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдбреАрдмрдЧрд░ рдореЗрдВ рдЕрдкреЛрд▓реЛрдбреЗрд╡рдЯреВрд▓ рдХреЛ рдХрд╛рдо рдХрд░рддреЗ рджреЗрдЦрд╛ред рдХреНрдпрд╛ рд╣рдореЗрдВ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдПрдХ рд╕рдХреНрд░рд┐рдп рд╕рдорд╕реНрдпрд╛ рд╣реИ? @ edgars-sirokovs рдкрд░ рдЖрдк рдХреМрди рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ?

@fbartho 2.2.4

@fbartho рдиреЗ рдЕрднреА рдлрд┐рд░ рд╕реЗ рдЬрд╛рдБрдЪ рдХреА - рдпрд╣ рдЕрдм рдереЛрдбрд╝реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдХрдо рд╕реЗ рдХрдо рдЕрдм рдЦрд╛рд▓реА рдирд╣реАрдВред
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ - рдХреИрд╢ рд╡реНрдпреВ рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рд╕реНрдХреАрдорд╛ рдирд╣реАрдВ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ (рдореЗрд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рд╕реНрдХреАрдорд╛ typeDefs рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдХреЛ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреЛрдИ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рдФрд░/рдпрд╛ рдпрд╣ рдХрднреА рднреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рддреЛ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдВ рдХрд╛рдо рдХреА рдЬрд░реВрд░рдд рд╣реЛрдиреЗ рдкрд░ рдкреАрдЖрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛!

рдХреИрд╢реЗ рджреГрд╢реНрдп рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ ApolloDevTools рдХреЛрдб рдореЗрдВ рдПрдХ рдмрдЧ рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ,

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЖрдкрдиреЗ @ edgars-sirokovs рдореЗрдВ рдкреНрд░рдЧрддрд┐ рдХреА рд╣реИ!

рд╣рдордиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдкрд┐рдЫрд▓реЗ рдЧреБрд░реБрд╡рд╛рд░ рдХреА рддрд░рд╣, рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд╕реНрдЯреЗрдЯ, рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдбреАрдмрдЧрд░ рдореЗрдВ рдЕрдкреЛрд▓реЛрдбреЗрд╡рдЯреВрд▓ рдХреЛ рдХрд╛рдо рдХрд░рддреЗ рджреЗрдЦрд╛ред рдХреНрдпрд╛ рд╣рдореЗрдВ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдПрдХ рд╕рдХреНрд░рд┐рдп рд╕рдорд╕реНрдпрд╛ рд╣реИ? @ edgars-sirokovs рдкрд░ рдЖрдк рдХреМрди рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ?

рдореИрдВ рдЗрд╕реЗ simple рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЕрдкреЛрд▓реЛ рджреЗрд╡рдЯреВрд▓ рдЯреИрдм рдЙрдкрд▓рдмреНрдз рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрд╢рд╛ рдЦрд╛рд▓реА рд░рд╣рддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдЕрдЧрд▓реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИред https://github.com/apolographql/apolo-link-rest/tree/master/examples/simple

@fbartho рдореИрдВрдиреЗ рдЙрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рдХрд┐рдпрд╛ рд╣реИ, рдореИрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓-рдбреАрдмрдЧрд░ рдХреЗ рд╕рд╛рде рдореВрд▓ рдирд┐рд╡рд╛рд╕реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЕрдкрдирд╛ рд╕реЗрдЯрдЕрдк рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЖрдк рдХрд┐рди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рдереЗ?

рд╣рдордиреЗ рдЖрдЬ рд╕реАрдЦрд╛ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рд▓реЗрдХрд┐рди рдЧреНрд░рд╛рдлреАрдХреНрдпреВрдПрд▓ рдЯреИрдм рдирд╣реАрдВ, рдХреЗрд╡рд▓ рдЕрдиреНрдп рдЯреИрдм: https://github.com/apollographql/apollo-client-devtools/issues/227

рдЗрд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рд░рдг, рдореИрдВ рд╕реНрдерд╛рдиреАрдп рд╕реНрдХреАрдорд╛ Docs рдХреЛ devtools GraphiQL рдореЗрдВ рдкрдврд╝рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдБред

рдЗрд╕ рдЖрддреНрдордирд┐рд░реАрдХреНрд╖рдг рдХреНрд╡реЗрд░реА рдХреЛ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреИрдирд▓ рдореЗрдВ [object Object] рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдХрдВрд╕реЛрд▓ рд░рд┐рдкреЛрд░реНрдЯ [Network error]: TypeError: forward is not a function

{
  __schema {
    types {
      name
    }
  }
}

рдореЗрд░реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдЧреНрд░рд╛рдлрд╝рд┐рдХрд▓ рд╕рд░реНрд╡рд░ рдирд╣реАрдВ рд╣реИ:

import { ApolloClient } from 'apollo-client';
import { InMemoryCache } from 'apollo-cache-inmemory';
import { persistCache } from 'apollo-cache-persist';
import localForage from 'localforage';
import typeDefs from './schema.graphql';
import { resolvers } from './resolvers';
import { link } from './link';
import { initialState } from './initialState';
export let client;
export async function createApolloClient() {
  const cache = new InMemoryCache();
  await persistCache({ cache, storage: localForage, serialize: false });
  client = new ApolloClient({ cache, link, resolvers, typeDefs });
  window.__APOLLO_CLIENT__ = client;
  cache.writeData({ data: initialState });
  return client;
}

рджреЗрдЦреЗрдВ https://spectrum.chat/apollo/apollo-link-state/client-has-typedefs-but-no-docs-in-graphiql~8a80e439-3257-4fce-a666-a1e75c3cec63

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХрдорд╛рддреНрд░ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдо рд╣реИ рдЬреЛ рдореБрдЭреЗ рдЙрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдЕрдВрддрддрдГ рд╣рд▓ рдХрд░ рд░рд╣рд╛ рдерд╛ред

рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ рдЬрдм рдореИрдВ apollo-link-rest рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдореМрдЬреВрджрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ @apollo/client рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рдерд╛ред

tl; dr рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдирд┐рдХрд▓реА рдХрд┐ рдЖрдк uri рдФрд░ link рдХреЛ рдПрдХ рдирдпрд╛ ApolloCient рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп рд╡рд┐рдХрд▓реНрдк рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЖрдкрдХреЛ uri рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╣рдЯрд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ HttpLink рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ createHttpLink рдФрд░ рдлрд┐рд░ from() рдХрд░рдХреЗ рдЕрдкрдиреЗ рд▓рд┐рдВрдХ рдФрд░ рдЙрдиреНрд╣реЗрдВ link рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред

рдмрд╛рдХреА рд▓рд┐рдВрдХ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореЗрд░реА рдкрд░рд┐рднрд╛рд╖рд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рдереА:

import { ApolloClient, InMemoryCache } from '@apollo/client';

const client = new ApolloClient({
  uri: '/api/graphql',
  cache: new InMemoryCache(),
});

рдкреНрд░рд▓реЗрдЦрди рдкрдврд╝рдиреЗ рдкрд░, рдореИрдВ рдЗрд╕ рдзрд╛рд░рдгрд╛ рдХреЗ рддрд╣рдд рдерд╛ рдХрд┐ рдореБрдЭреЗ рдПрдХ рдирдпрд╛ RestLink рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдХреЗ рдФрд░ рдореЗрд░реЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд link рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рдХрд░ рдПрдХ рдЖрд░рд╛рдо рд▓рд┐рдВрдХ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

import { ApolloClient, InMemoryCache } from '@apollo/client';
import { RestLink } from 'apollo-link-rest';

const restLink = new RestLink({
  uri: '/api',
});

const client = new ApolloClient({
  uri: '/api/graphql',
  cache: new InMemoryCache(),
  link: restLink,
});

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдХрд╛рд░рдг TypeError: forward is not a function рддреНрд░реБрдЯрд┐ рд╣реБрдИ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрдм рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

рд▓рд┐рдВрдХ рдкрд░ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЖрдЧреЗ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрд╛, рдФрд░ рдРрд╕реЗ рдорд╛рдорд▓реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдпрд╣ рдЧрд▓рдд рд╣реИ) рдХрд┐ рдЖрдк uri рдФрд░ link рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ ApolloClient рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ link рд╡рд┐рдХрд▓реНрдк рдкреИрд░рд╛рдореАрдЯрд░ред рдЗрд╕ рдирдИ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореИрдВ uri рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╣рдЯрд╛рдХрд░ рдФрд░ HttpLink рдмрдирд╛рдХрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ RestLink рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ from() рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдФрд░ рд╕рдм рдХреБрдЫ рдЖрдЦрд┐рд░рдХрд╛рд░ рдХрд╛рдо рдХрд░ рдЧрдпрд╛ (рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдЕрдиреБрд╕рд╛рд░, RestLink рдХреЛ HttpLink рд╕реЗ рдкрд╣рд▓реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП):

import {
  ApolloClient, InMemoryCache, from, createHttpLink,
} from '@apollo/client';
import { RestLink } from 'apollo-link-rest';
const httpLink = createHttpLink({
  uri: '/api/graphql',
});

const restLink = new RestLink({
  uri: '/api',
});

const client = new ApolloClient({
  cache: new InMemoryCache(),
  link: from([restLink, httpLink]),
});

рдзрдиреНрдпрд╡рд╛рдж @crbanman рдЖрдкрдиреЗ рдореЗрд░рд╛ рджрд┐рди рдмрдЪрд╛рдпрд╛! ЁЯТп

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

karensg picture karensg  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

i-Hun picture i-Hun  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

eranimo picture eranimo  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

blatoo picture blatoo  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kevinrobayna picture kevinrobayna  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ