⊗jsrtPmRtADA 34 of 47 menu

Dodawanie danych za pomocą metody action w React Router

W tej lekcji zapoznamy się z metodą action obiektu trasy. Ta metoda jest wywoływana, gdy aplikacja wysyła żądanie HTTP typu POST, PUT, PATCH lub DELETE (oprócz GET) do Twojej trasy.

Na początek zaimportujmy funkcję do tworzenia produktu, którą napisaliśmy w poprzedniej lekcji do naszego root.jsx:

import { createProduct } from '../forStorage';

Teraz musimy utworzyć funkcję action, która będzie wywoływana przez React Router po kliknięciu przycisku dodawania produktu, umieścimy ją po funkcji loader:

export async function action() { const product = await createProduct(); return { product }; }

Otwórzmy main.jsx i zaimportujmy action:

import Root, { loader as rootLoader, action as rootAction } from './routes/root';

I ustawmy ją jako wartość metody action dla obiektu trasy. Komponent Form nie pozwoli przeglądarce wysyłać żądań do serwera po naciśnięciu przycisku, a zwróci się do metody action naszej trasy. Tak ciekawie działa routing po stronie klienta z React Router:

const router = createBrowserRouter([ { path: '/', element: <Root />, errorElement: <ErrorPage404 />, loader: rootLoader, action: rootAction, children: [ { path: 'products/:productId', element: <Product />, }, ], }, ]);

Uruchommy naszą aplikację. Otwórzmy zakładkę 'Aplikacja' (Application dla Chrome) w panelu deweloperskim, spośród różnych typów pamięci kliknijmy na indexedDB, tutaj interesuje nas localforage. Teraz klikając na przycisk dodawania produktów w naszej aplikacji i odświeżając pamięć localforage po kliknięciu widzimy, jak w keyvaluepairs w tablicy products dodawane są obiekty z różnymi id. Zwycięstwo!!! To znaczy, że w pamięci tworzone są rekordy! Oczywiście lista w naszej aplikacji również się powiększa. Podpowiedź: nie zapomnij później wyczyścić zapisanych danych tej stronki w zakładce 'Storage' w Application.

Weź aplikację utworzoną przez Ciebie w zadaniach do poprzednich lekcji. Korzystając z materiałów lekcji, utwórz funkcję action, dodaj ją do obiektu trasy głównej jako metodę action.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć