JakeSidSmith / react-reorder

Drag & drop, touch enabled, reorderable / sortable list, React component
https://jakesidsmith.github.io/react-reorder/
MIT License
218 stars 58 forks source link

Very slow in development with redux DevTools and HMR #69

Closed HriBB closed 6 years ago

HriBB commented 8 years ago

First of all, thanks for this nice lib ;) Haven't tested it much yet, but so far I really like react-reorder. However, drag-drop is horrrribly slow in development. I use redux with DevTools with React Hot Loader and it's practically unusable. Could be related to #56, because I believe that calling this.setState() triggers a re-render of component. It works OK in production.

@JakeSidSmith let me know how I can help

JakeSidSmith commented 8 years ago

Calling setState every mouse move shouldn't really have any issues. Although the library is overdue a little re-write. Should have some time this Friday / weekend to take a look, but I can't promise anything.

I'll at least let you know if and when it's sorted. :)

HriBB commented 8 years ago

It's not a problem, as long as it works fast in production mode ;) I will do some debugging/profiling to see what's going on in the background, but I suspect that there's not much we can do regarding development speed. redux-form for example is slow as hell in development as well, but work fast in production.

I can help you with the rewrite, although the code does not look simple and will probably require a session or two to "make sense" to me. Or I can at least help you with testing, after you rewrite.

But let's fix the window is undefined problem first ;)

JakeSidSmith commented 8 years ago

Agreed. :)

JakeSidSmith commented 7 years ago

Update: just released 3.0.0-alpha.0 on npm. I'd suggest checking out this version, it should be far more stable than the existing release, fixes a lot of bugs, and adds the ability to drag between lists. :)

See the readme after installation, there's been a considerable change to the interface.

Could you see if the slowness has improved at all in the alpha? :)