⊗jsrtPmRtRd 41 of 47 menu

Пренасочване към друг маршрут в React Router

Сега данните, въведени във формата при редактиране на продукт, се запазват, но има едно НО - след запазване на данните ние оставаме на страницата с формата, а трябва да се върнем обратно на страницата на продукта. В това ще ни помогне пренасочването, с което ще се запознаем в този урок.

Нека отворим файла edit.jsx и импортираме redirect от библиотеката:

import { redirect } from 'react-router-dom';

И след това ще направим така, че функцията action сега ще връща не 1, а ще ни пренасочва към необходимия маршрут. В този случай необходимо е да се върнем обратно на страницата на продукта:

return redirect(`/products/${params.productId}`);

Сега, при натискане на бутона за запазване, ние се озоваваме обратно на страницата на продукта с актуализирани данни.

Същото нещо можем да направим и за добавяне на нов продукт, тъй като вероятно би било по-удобно веднага да се отиде на формата и да се попълни. Нека да го направим по този начин.

Като начало сега трябва да отворим файла root.jsx и да импортираме redirect, тъй като добавянето на продукти се извършва на основната страница:

import { redirect } from 'react-router-dom';

Отново вземаме функцията action и сега ще връщаме не product, а ще правим пренасочване към страницата за редактиране:

return redirect(`/products/${product.id}/edit`);

Нека проверим и това. Сега ще кликнем върху бутона за добавяне на продукт и ще видим форма за неговото редактиране

Вземете приложението, създадено от вас в задачите към предишните уроци. Използвайки материалите от урока, реализирайте в него пренасочване към страницата на студента след натискане на бутона за запазване на данни на страницата с формата.

А сега реализирайте пренасочване от главната страница към страницата с формата за редактиране на данни на студент след кликване върху бутона за добавяне на студент в списъка.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне