рд╣рд┐рдпрд╛,
рдЬрдм рднреА рдореИрдВрдиреЗ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рд╣рд░ рдмрд╛рд░ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ: рдЕрдкреЛрд▓реЛ рджреЗрд╡рдЯреВрд▓ рдореЗрдВ рдЧреНрд░рд╛рдлреАрдХреНрдпреВрдПрд▓ рдЦреЛрд▓рдирд╛ рд╣рдореЗрд╢рд╛ "рдЯрд╛рдЗрдк рдПрд░рд░: рдлреЙрд░рд╡рд░реНрдб рдХреЛрдИ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ" рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рддреНрд░реБрдЯрд┐ рдХрд╛ рдкреВрд░рд╛ рдкрд╛рда:
{
"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 рд╣реИ)ред
рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдкреИрдХреЗрдЬ рдХреЛ рдкрд╕рдВрдж рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рдкрд╛рдПрдВ!
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЧреНрд░рд╛рдлрдЖрдИрдХреНрдпреВрдПрд▓ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд╕реНрдЯреЗрдЯ/рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ - рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╡реЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд▓рд┐рдВрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЙрд╕ рдХрд╛рдо рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ?
рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЕрдкреЛрд▓реЛ рджреЗрд╡ рдЙрдкрдХрд░рдг рдореЗрдВ рдЧреНрд░рд╛рдлрд╝реАрдХреНрдпреВрдПрд▓ рдХрд╛рдо рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред JSONPlaceholder api рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ https://jsonplaceholder.typicode.com рдкрд░ рд╕реЗрдЯ рд╣реИ - рдХрд┐рд╕реА рднреА рдкреНрд░рд╢реНрди рдХреЛ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореБрдЭреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЬреЛ рдорд┐рд▓рддрд╛ рд╣реИ рд╡рд╣ рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж:
рдпрд╛ "рд╕рд░рд▓" рдЙрджрд╛рд╣рд░рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде:
рдХреБрдЫ рдФрд░ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ "рдХреИрд╢ рд╕реЗ рдкрдврд╝рд╛" рд╡рд┐рдХрд▓реНрдк 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 рдЖрдкрдиреЗ рдореЗрд░рд╛ рджрд┐рди рдмрдЪрд╛рдпрд╛! ЁЯТп
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдирдорд╕реНрддреЗ! рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛ рджреЗрдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЛ рдЕрдкреЛрд▓реЛ-рдХреНрд▓рд╛рдЗрдВрдЯ-рджреЗрд╡рдЯреВрд▓ рджреНрд╡рд╛рд░рд╛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рдпрд╣ рдпрд╣рд╛рдВ рдЖрддрд╛ рд╣реИ , рддреЛ
forward
рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИредрдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЕрдиреНрдпрдерд╛ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдмрдирд╛рдКрдВрдЧрд╛ред рдЬрдм рдореИрдВрдиреЗ
!isRestQuery
рдЪреЗрдХ рдХреЛ!isRestQuery && forward
рдореИрдВ рдЙрдкрд░реЛрдХреНрдд рддреНрд░реБрдЯрд┐ рдХреЛ рд╢рд╛рдВрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рдПрдХ рдирдИ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА:рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдРрдк рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрддрд╛/рдбреАрдмрдЧ рдХрд░рддрд╛ рдерд╛: https://github.com/Hilaryous/simple-react-app/tree/apolo-link-rest-exampleред
рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд░ рдЖрдкрдХреЗ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЕрдЧрд░ рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред