Skip to content

Commit 0d54c83

Browse files
authored
Merge pull request #3745 from udecode/fix/use-dnd-node-state-change-during-render
Fix: `useDndNode` calls a state setter during its render function
2 parents eadf073 + 04ab73d commit 0d54c83

File tree

3 files changed

+15
-6
lines changed

3 files changed

+15
-6
lines changed

.changeset/itchy-cups-wonder.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@udecode/plate-dnd': patch
3+
---
4+
5+
Fix: `useDndNode` calls a state setter during its render function

packages/dnd/src/hooks/useDndNode.ts

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { useEffect } from 'react';
12
import { NativeTypes, getEmptyImage } from 'react-dnd-html5-backend';
23

34
import type { DropTargetMonitor } from 'react-dnd';
@@ -74,9 +75,12 @@ export const useDndNode = ({
7475
} else {
7576
preview(drop(nodeRef));
7677
}
77-
if (!isOver && dropLine) {
78-
setDropLine('');
79-
}
78+
79+
useEffect(() => {
80+
if (!isOver && dropLine) {
81+
setDropLine('');
82+
}
83+
}, [isOver, dropLine, setDropLine]);
8084

8185
return {
8286
dragRef,

yarn.lock

+3-3
Original file line numberDiff line numberDiff line change
@@ -6197,7 +6197,7 @@ __metadata:
61976197
dependencies:
61986198
"@udecode/plate-combobox": "npm:39.0.0"
61996199
"@udecode/plate-markdown": "npm:39.2.0"
6200-
"@udecode/plate-selection": "npm:39.3.5"
6200+
"@udecode/plate-selection": "npm:39.3.7"
62016201
ai: "npm:^3.4.10"
62026202
lodash: "npm:^4.17.21"
62036203
peerDependencies:
@@ -7035,7 +7035,7 @@ __metadata:
70357035
languageName: unknown
70367036
linkType: soft
70377037

7038-
"@udecode/plate-selection@npm:39.3.5, @udecode/plate-selection@workspace:^, @udecode/plate-selection@workspace:packages/selection":
7038+
"@udecode/plate-selection@npm:39.3.7, @udecode/plate-selection@workspace:^, @udecode/plate-selection@workspace:packages/selection":
70397039
version: 0.0.0-use.local
70407040
resolution: "@udecode/plate-selection@workspace:packages/selection"
70417041
dependencies:
@@ -7245,7 +7245,7 @@ __metadata:
72457245
"@udecode/plate-reset-node": "npm:39.0.0"
72467246
"@udecode/plate-resizable": "npm:39.1.6"
72477247
"@udecode/plate-select": "npm:39.0.0"
7248-
"@udecode/plate-selection": "npm:39.3.5"
7248+
"@udecode/plate-selection": "npm:39.3.7"
72497249
"@udecode/plate-slash-command": "npm:39.0.0"
72507250
"@udecode/plate-suggestion": "npm:39.0.0"
72517251
"@udecode/plate-tabbable": "npm:39.0.0"

0 commit comments

Comments
 (0)