Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jsrtPmRtDR 45 of 47 menu
◀ ▶

React Router-те жолды жою

Дерекқордан деректерді жою функциясын біз жаздық. Енді өнім бетінің версткасына өнімді жою үшін түймесі бар код бөлігін қосамыз. Оны түзету түймесінен кейін қосамыз. Екі түймесі бар форманы #control дивіне ораймыз. Содан кейін action-ке 'delete' мәнін жазамыз. Сондай-ақ пайдаланушыға өнімді жойғысы келетінін растау үшін диалог терезесін қосамыз:

<div id="control"> <Form action="edit"> <button type="submit">edit</button> </Form> <Form method="post" action="delete" onSubmit={(event) => { if (!confirm('Do you want to delete this product?')) { event.preventDefault(); } }} > <button type="submit">delete</button> </Form> </div>

Сондай-ақ біздің CSS файлына стильдер қосамыз:

div#control { display: flex; } button { margin-right: 5px; }

Енді біз өнімді жою үшін жаңа жол жасаймыз. Ол үшін routes бумасын ашып, онда delete.jsx файлын жасаңыз. Оған redirect және жою функциясы deleteProduct импортын бірден қосамыз:

import { redirect } from 'react-router-dom'; import { deleteProduct } from '../forStorage';

Содан кейін, әрине, біз id бойынша deleteProduct-ті шақыратын және жойылғаннан кейін бізді басты бетке бағыттайтын action функциямызды жазамыз:

export async function action({ params }) { await deleteProduct(params.productId); return redirect('/'); }

Бізге main.jsx-ті ашу ғана қалды. Біздің action-ті импорттау керек:

import { action as deleteAction } from './routes/delete';

Және оны жою жолы үшін action әдісінің мәні ретінде орнату керек. Жолдың өзін біз children массивінің соңына қосамыз:

{ path: 'products/:productId/delete', action: deleteAction, },

Енді біз кез келген өнімді басып, оны жою түймесімен жоя аламыз. Оны тексеру үшін әзірлеуші панелінің localforage-іне кіре аласыз.

Алдыңғы сабақтардың тапсырмаларында жасаған қолданбаңызды алыңыз. Сабақ материалын пайдаланып, студентті жою түймесін қосыңыз, жою үшін жаңа жол жасаңыз, оны балалар жолдарына қосыңыз. Барлығының жұмыс істейтініне көз жеткізіңіз.

← →
↑
Қазақ▼
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
Біз сайттың жұмысы, аналитика және персонализация үшін cookie файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау