You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/6/fi/osa6d.md
+13-9Lines changed: 13 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -289,7 +289,7 @@ Tästä on toki seurauksena se, että sovellus tekee muistiinpanon muutoksen aih
289
289
290
290
Jos sovelluksen hakema datamäärä ei ole suuri, ei asialla ole juurikaan merkitystä. Selainpuolen toiminnallisuuden kannaltahan ylimääräisen HTTP GET ‑pyynnön tekeminen ei juurikaan haittaa, mutta joissain tilanteissa se saattaa rasittaa palvelinta.
291
291
292
-
Tarvittaessa on myös mahdollista optimoida suorituskykyä [päivittämällä itse](https://react-query-v3.tanstack.com/guides/updates-from-mutation-responses) React Queryn ylläpitämää kyselyn tilaa.
292
+
Tarvittaessa on myös mahdollista optimoida suorituskykyä [päivittämällä itse](https://tanstack.com/query/latest/docs/react/guides/updates-from-mutation-responses) React Queryn ylläpitämää kyselyn tilaa.
293
293
294
294
Muutos uuden muistiinpanon lisäävän mutaation osalta on seuraavassa:
295
295
@@ -320,14 +320,16 @@ Jos seuraamme tarkasti selaimen network-välilehteä, huomaamme että React Quer
320
320
321
321

322
322
323
-
Mistä on kyse? Hieman [dokumentaatiota](https://react-query-v3.tanstack.com/reference/useQuery)
323
+
Mistä on kyse? Hieman [dokumentaatiota](https://tanstack.com/query/latest/docs/react/reference/useQuery)
324
324
tutkimalla huomataan, että React Queryn kyselyjen oletusarvoinen toiminnallisuus on se, että kyselyt (joiden tila on <i>stale</i>) päivitetään kun <i>window focus</i> eli sovelluksen käyttöliittymän aktiivinen elementti vaihtuu. Voimme halutessamme kytkeä toiminnallisuuden pois luomalla kyselyn seuraavasti:
325
325
326
326
```js
327
327
constApp= () => {
328
328
// ...
329
-
constresult=useQuery('notes', getNotes, {
330
-
refetchOnWindowFocus:false// highlight-line
329
+
constresult=useQuery({
330
+
queryKey: ['notes'],
331
+
queryFn: getNotes,
332
+
refetchOnWindowFocus:false// highlight-line
331
333
})
332
334
333
335
// ...
@@ -338,7 +340,7 @@ Konsoliin tehtävillä tulostuksilla voit tarkkailla sitä miten usein React Que
338
340
339
341
Sovelluksen lopullinen koodi on [GitHubissa](https://github.com/fullstack-hy2020/query-notes/tree/part6-3) branchissa <i>part6-3</i>.
340
342
341
-
React Query on monipuolinen kirjasto joka jo nyt nähdyn perusteella yksinkertaistaa sovellusta. Tekeekö React Query monimutkaisemmat tilanhallintaratkaisut kuten esim. Reduxin tarpeettomaksi? Ei. React Query voi joissain tapauksissa korvata osin sovelluksen tilan, mutta kuten [dokumentaatio](https://react-query-v3.tanstack.com/guides/does-this-replace-client-state) toteaa
343
+
React Query on monipuolinen kirjasto joka jo nyt nähdyn perusteella yksinkertaistaa sovellusta. Tekeekö React Query monimutkaisemmat tilanhallintaratkaisut kuten esim. Reduxin tarpeettomaksi? Ei. React Query voi joissain tapauksissa korvata osin sovelluksen tilan, mutta kuten [dokumentaatio](https://tanstack.com/query/latest/docs/react/guides/does-this-replace-client-state) toteaa
342
344
343
345
- React Query is a <i>server-state library</i>, responsible for managing asynchronous operations between your server and client
344
346
- Redux, etc. are <i>client-state libraries</i> that can be used to store asynchronous data, albeit inefficiently when compared to a tool like React Query
@@ -362,14 +364,15 @@ Sovelluksen tulee toimia siten, että jos palvelimen kanssa kommunikoinnissa ilm
Voit simuloida palvelimen kanssa tapahtuvaa ongelmaa esim. sammuttamalla JSON Serverin. Huomaa, että kysely on ensin jonkin aikaa tilassa <i>isLoading</i> sillä epäonnistuessaan React Query yrittää pyyntöä muutaman kerran ennen kuin se toteaa, että pyyntö ei onnistu. Voit halutessasi määritellä, että uudelleenyrityksiä ei tehdä:
368
370
369
371
```js
370
372
constresult=useQuery(
371
-
'anecdotes', getAnecdotes,
372
373
{
374
+
queryKey: ['anecdotes'],
375
+
queryFn: getAnecdotes,
373
376
retry:false
374
377
}
375
378
)
@@ -379,8 +382,9 @@ tai, että pyyntöä yritetään uudelleen esim. vain kerran:
379
382
380
383
```js
381
384
constresult=useQuery(
382
-
'anecdotes', getAnecdotes,
383
385
{
386
+
queryKey: ['anecdotes'],
387
+
queryFn: getAnecdotes,
384
388
retry:1
385
389
}
386
390
)
@@ -782,7 +786,7 @@ Kuten tehtävässä 6.20 todettiin, palvelin vaatii, että lisättävän anekdoo
782
786

783
787
784
788
Virhetilanne kannattaa käsitellä sille rekisteröidyssä takaisinkutsufunktiossa, ks
785
-
[täältä](https://react-query-v3.tanstack.com/reference/useMutation) miten rekisteröit funktion.
789
+
[täältä](https://tanstack.com/query/latest/docs/react/reference/useMutation) miten rekisteröit funktion.
786
790
787
791
Tämä oli osan viimeinen tehtävä ja on aika pushata koodi GitHubiin sekä merkata tehdyt tehtävät [palautussovellukseen](https://studies.cs.helsinki.fi/stats/courses/fullstackopen).
0 commit comments