Как да използвате използваните и използвани куки от React Dnd?

Jul 09, 2025

Остави съобщение

В динамичния свят на развитието на React възможността за прилагане на функционалността на плъзгане и пускане може значително да подобри потребителското изживяване. React Dnd (Drag and Drop) е популярна библиотека, която опростява процеса на добавяне на функции за плъзгане и пускане към реагиране на приложения. В този блог, като доставчик на куки, ще се задълбоча как да използвамизползваниИзползванКуки от реагиране на DND ефективно.

Разбиране на React Dnd

Преди да скочим визползваниИзползванКуки, нека разберем накратко какво е React Dnd. React DND е библиотека, която ви позволява да изграждате сложни интерфейси за влачене и пускане в React с лекота. Той абстрахира детайлите на ниско ниво на обработката на мишките и докосванията, което ви позволява да се съсредоточите върху логиката на вашето приложение.

Основната концепция на React Dnd се върти около идеята за „източници на влачене“ и „пускане на цели“. Източникът на влачене е елемент, който може да бъде влачен, докато целта за отпадане е елемент, при който влаченият елемент може да бъде изпуснат. TheизползванКуката се използва за определяне на източник на влачене иИзползванКуката се използва за определяне на целта за капка.

Настройване на проекта

Първо, трябва да инсталирате React DND във вашия проект. Можете да направите това с помощта на NPM или прежда:

NPM Инсталиране на React-DND React-DND-HTML5-BACKEND

TheReact-Dnd-HTML5-Backendе бекенд, който използва HTML5 API за плъзгане и пускане, за да се справи с действителните операции за влачене и пускане.

След това трябва да увиете приложението си сDndprovidsкомпонент. Този компонент предоставя необходимия контекст заизползваниИзползванкуки за работа.

import {dndprovider} от 'React-dnd'; import html5backend от 'React-Dnd-HTML5-Backend'; const app = () => {return (<dndprovider backend = {html5backend}> {/ * вашите компоненти на приложението */} </dndprovider>); }; Експортиране на приложение по подразбиране;

Използване наизползванКука

TheизползванКуката се използва за определяне на източник на влачене. Той приема обект с няколко свойства като аргумент. Ето основен пример за използване наизползванкука:

import {usedrag} от 'React-dnd'; const draggableItem = ({id, name}) => {const [{isDragging}, dlow] = usedrag ({item: {type: 'item', id, name}, collect: (monitor) => ({isDragging: monitor.isdragging (),}),}); const opacity = isDragging? 0.5: 1; return (<div ref = {dlow} style = {{непрозрачност}}> {name} </div>); }; Експортиране по подразбиране DraggableItem;

В този пример ние определяме aDraggableitemкомпонент, който може да бъде влачен. TheизползванКуката взема предмет с две основни свойства:

  • артикул: Това е обект, който представлява данните, които се влачат. Той може да съдържа всяка информация, която искате да предадете заедно с изтегления елемент. В този случай ние включваме типа на елемента, неговия идентификатор и името му.
  • събиране: Това е функция, която връща обект с данните, които искате да събирате от операцията за влачене. В този случай ние събирамеisdraggingсъстояние отМониторобект. TheМониторОбектът предоставя информация за текущата операция за влачене, например дали елементът се влачи или не.

TheизползванКуката връща масив с два елемента:

  • Първият елемент е обект с данните, събрани отсъбиранефункция. В този случай той съдържаisdraggingсъстояние.
  • Вторият елемент е функция, която трябва да преминете къмrefПоддръжка на елемента, който искате да направите. Тази функция прикрепя необходимите събирачи на събития към елемента, за да го направи.

Използване наИзползванКука

TheИзползванКуката се използва за определяне на целта за капка. Освен това приема обект с няколко свойства като аргумент. Ето основен пример за използване наИзползванкука:

import {usedRop} от 'React-dnd'; const dropTarget = ({ondrop}) => {const [{candrop, isover}, drop] = usedRop ({accept: 'item', drop: (item) => {ondrop (item);}, collect: (monitor) => ({candrop: monitor.candrop (), isover: moniter.isover (),}),}); const backgroundcolor = candrop && isover? 'Lightgreen': 'White'; return (<div ref = {drop} style = {{backgroundcolor}}> пуснете тук </div>); }; експортиране по подразбиране DropTarget;

В този пример ние определяме aDroptargetкомпонент, който може да приеме изпуснати елементи. TheИзползванКуката взема предмет с три основни свойства:

new england bathroom accessoriesnew design bathroom accessories

  • Приемете: Това е низ или масив от низове, които определят типовете елементи, които целта за отпадане може да приеме. В този случай приемаме елементи от тип „елемент“.
  • капка: Това е функция, която се извиква, когато даден елемент е изпуснат върху целта за капка. ОтнемаартикулОбект, който беше предаден заедно с влачената елемента като аргумент. В този случай наричамеondropфункция, преминала като опора наDroptargetкомпонент.
  • събиране: Това е функция, която връща обект с данните, които искате да събирате от операцията за отпадане. В този случай ние събирамеCandropиИзовърдържави отМониторобект. TheМониторОбектът предоставя информация за текущата операция на падане, например дали елементът може да бъде пуснат върху целта или дали в момента е над целта.

TheИзползванКуката връща масив с два елемента:

  • Първият елемент е обект с данните, събрани отсъбиранефункция. В този случай той съдържаCandropиИзовърдържави.
  • Вторият елемент е функция, която трябва да преминете къмrefопора на елемента, който искате да направите целта за капка. Тази функция прикрепя необходимите манипулатори на събития към елемента, за да го превърне в целта за отпадане.

КомбиниранеизползваниИзползван

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

import React, {USESTATE} от 'React'; import {dndprovider} от 'React-dnd'; import html5backend от 'React-Dnd-HTML5-Backend'; импортирайте draggableitem от './draggableitem'; импортиране на DropTarget от './Droptarget'; const app = () => {const [droppedItems, setDroppedItems] = useState ([]); const handledrop = (item) => {setDroppedItems ((previtems) => [... previtems, item]); }; return ( <DndProvider backend={HTML5Backend}> <div> <h1>Draggable Items</h1> <DraggableItem id={1} name="Item 1" /> <DraggableItem id={2} name="Item 2" /> </div> <div> <h1>Drop Target</h1> <DropTarget onDrop={handleDrop} /> </div> <div> <h1> изпуснати елементи </h1> {droppedItems.map ((item) => (<div key = {item.id}> {item.name} </iv>))} </iv> </dndprovider>); }; Експортиране на приложение по подразбиране;

В този пример ние създаваме просто приложение с елементи за плъзгане и целта за отпадане. Когато даден елемент бъде изпуснат върху целта за отпадане, ние го добавяме къмDroppedItemsсъстояние.

Разширено използване

React DND предоставя много усъвършенствани функции, които можете да използвате, за да създадете по-сложни интерфейси за влачене и пускане. Например, можете да използватезапочнетеикрайОбръщане визползванКука за извършване на действия, когато операцията за влачене започва и завършва. Можете също да използватеВърчиОбръщане вИзползванКука за извършване на действия, когато даден елемент се движи върху целта за отпадане.

Ето пример за използване назапочнетеикрайОбръщане визползванкука:

import {usedrag} от 'React-dnd'; const draggableItem = ({id, name}) => {const [{isDragging}, drag] = usedrag ({item: {type: 'item', id, name}, start: (monitor) => {console.log ('drag starn start');}, end: (item, monitor) => {if (monitor.diddrop () {console. успешно '); const opacity = isDragging? 0.5: 1; return (<div ref = {dlow} style = {{непрозрачност}}> {name} </div>); }; Експортиране по подразбиране DraggableItem;

В този пример добавямезапочнетеикрайОбръщане къмизползванКука. TheзапочнетеОбръщането се извиква, когато стартира операцията за влачене икрайОбръщането се извиква, когато операцията за влачене приключи. Можем да използваме тези обратни повиквания за извършване на действия като съобщения за регистриране или актуализиране на състоянието на нашето приложение.

Заключение

TheизползваниИзползванКуките от React DND са мощни инструменти за добавяне на функционалност за плъзгане и пускане към вашите React Applications. Разбирайки как работят тези куки и как да ги използвате ефективно, можете да създадете ангажиращи и интерактивни потребителски интерфейси.

Ако търсите висококачествени куки за вашата баня, вижте нашитеЗлатни куки за баняиАксесоари за баня куки за кърпи.

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

ЛИТЕРАТУРА

  • React DND документация
  • Реагиране на документация

Изпрати запитване