Skip to content

Commit 8ddf5d6

Browse files
authored
fix: early return in toolbar button to avoid unneeded calls to useInt… (#24)
* fix: early return in toolbar button to avoid unneeded calls to useInteractions * fix: isolate interactionsFiltered into separate useSelect to reduce editor re-renders and prevent Kadence inspector tab reset * fix: use specific dependency to avoid extra calls
1 parent eacb69f commit 8ddf5d6

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

src/editor/hooks/use-interactions.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,19 +244,22 @@ const useInteractions = () => {
244244
}
245245

246246
const interactions = select( 'interact/interactions' ).getInteractions()
247-
const interactionsFiltered = interactions.filter( interaction => isInteractionShown( interaction, select ) )
248247

249248
return {
250249
interactions,
251-
interactionsFiltered,
252250
setInteractions,
253251
updateInteraction,
254252
deleteInteraction,
255253
}
256254
}, [] )
257255

256+
const interactionsFiltered = useSelect( select => {
257+
return data.interactions.filter( interaction => isInteractionShown( interaction, select ) )
258+
}, [ data.interactions ] )
259+
258260
return {
259261
loadingError: useSelect( select => select( 'interact/interactions' ).getLoadingError(), [] ),
262+
interactionsFiltered,
260263
...data,
261264
}
262265
}

0 commit comments

Comments
 (0)