redux-form: hot reload causing destroy
I’m using webpack-dev-server and I have hot reload working, but my form data gets destroyed because componentWillUnmount is called. From what I can gather from the hot loader demo unmount shouldn’t be called. Is this expected, or have I hooked things up wrong?
Here is the callstack:
destroy (actions.js:23)
(anonymous function) (bindActionData.js:22)
(anonymous function) (bindActionCreators.js:14)
componentWillUnmount (createHigherOrd…mponent.js:115)
ReactCompositeComponentMixin.unmountComponent (ReactCompositeComponent.js:243)
ReactReconciler.unmountComponent (ReactReconciler.js:52)
ReactCompositeComponentMixin.unmountComponent (ReactCompositeComponent.js:246)
ReactReconciler.unmountComponent (ReactReconciler.js:52)
ReactCompositeComponentMixin.unmountComponent (ReactCompositeComponent.js:246)
ReactReconciler.unmountComponent (ReactReconciler.js:52)
ReactCompositeComponentMixin.unmountComponent (ReactCompositeComponent.js:246)
ReactReconciler.unmountComponent (ReactReconciler.js:52)
ReactChildReconciler.unmountChildren (ReactChildReconciler.js:115)
ReactMultiChild.Mixin.unmountChildren (ReactMultiChild.js:398)
ReactDOMComponent.Mixin.unmountComponent (ReactDOMComponent.js:911)
ReactReconciler.unmountComponent (ReactReconciler.js:52)
ReactChildReconciler.unmountChildren (ReactChildReconciler.js:115)
ReactMultiChild.Mixin.unmountChildren (ReactMultiChild.js:398)
ReactDOMComponent.Mixin.unmountComponent (ReactDOMComponent.js:911)
ReactReconciler.unmountComponent (ReactReconciler.js:52)
ReactCompositeComponentMixin.unmountComponent (ReactCompositeComponent.js:246)
ReactReconciler.unmountComponent (ReactReconciler.js:52)
ReactChildReconciler.unmountChildren (ReactChildReconciler.js:115)
ReactMultiChild.Mixin.unmountChildren (ReactMultiChild.js:398)
ReactDOMComponent.Mixin.unmountComponent (ReactDOMComponent.js:911)
ReactReconciler.unmountComponent (ReactReconciler.js:52)
ReactCompositeComponentMixin.unmountComponent (ReactCompositeComponent.js:246)
ReactReconciler.unmountComponent (ReactReconciler.js:52)
ReactCompositeComponentMixin.unmountComponent (ReactCompositeComponent.js:246)
ReactReconciler.unmountComponent (ReactReconciler.js:52)
ReactCompositeComponentMixin.unmountComponent (ReactCompositeComponent.js:246)
ReactReconciler.unmountComponent (ReactReconciler.js:52)
ReactCompositeComponentMixin.unmountComponent (ReactCompositeComponent.js:246)
ReactReconciler.unmountComponent (ReactReconciler.js:52)
ReactCompositeComponentMixin.unmountComponent (ReactCompositeComponent.js:246)
ReactReconciler.unmountComponent (ReactReconciler.js:52)
ReactCompositeComponentMixin._updateRenderedComponent (ReactCompositeComponent.js:567)
ReactCompositeComponentMixin._performComponentUpdate (ReactCompositeComponent.js:544)
ReactCompositeComponentMixin.updateComponent (ReactCompositeComponent.js:473)
ReactCompositeComponent_updateComponent (ReactPerf.js:66)
ReactCompositeComponentMixin.receiveComponent (ReactCompositeComponent.js:405)
ReactReconciler.receiveComponent (ReactReconciler.js:87)
ReactChildReconciler.updateChildren (ReactChildReconciler.js:84)
ReactMultiChild.Mixin._reconcilerUpdateChildren (ReactMultiChild.js:216)
ReactMultiChild.Mixin._updateChildren (ReactMultiChild.js:351)
ReactMultiChild.Mixin.updateChildren (ReactMultiChild.js:326)
ReactDOMComponent.Mixin._updateDOMChildren (ReactDOMComponent.js:871)
ReactDOMComponent.Mixin.updateComponent (ReactDOMComponent.js:700)
ReactDOMComponent.Mixin.receiveComponent (ReactDOMComponent.js:645)
ReactReconciler.receiveComponent (ReactReconciler.js:87)
ReactCompositeComponentMixin._updateRenderedComponent (ReactCompositeComponent.js:562)
ReactCompositeComponentMixin._performComponentUpdate (ReactCompositeComponent.js:544)
ReactCompositeComponentMixin.updateComponent (ReactCompositeComponent.js:473)
ReactCompositeComponent_updateComponent (ReactPerf.js:66)
ReactCompositeComponentMixin.receiveComponent (ReactCompositeComponent.js:405)
ReactReconciler.receiveComponent (ReactReconciler.js:87)
ReactCompositeComponentMixin._updateRenderedComponent (ReactCompositeComponent.js:562)
ReactCompositeComponentMixin._performComponentUpdate (ReactCompositeComponent.js:544)
ReactCompositeComponentMixin.updateComponent (ReactCompositeComponent.js:473)
ReactCompositeComponent_updateComponent (ReactPerf.js:66)
ReactCompositeComponentMixin.receiveComponent (ReactCompositeComponent.js:405)
ReactReconciler.receiveComponent (ReactReconciler.js:87)
ReactCompositeComponentMixin._updateRenderedComponent (ReactCompositeComponent.js:562)
ReactCompositeComponentMixin._performComponentUpdate (ReactCompositeComponent.js:544)
ReactCompositeComponentMixin.updateComponent (ReactCompositeComponent.js:473)
ReactCompositeComponent_updateComponent (ReactPerf.js:66)
ReactCompositeComponentMixin.receiveComponent (ReactCompositeComponent.js:405)
ReactReconciler.receiveComponent (ReactReconciler.js:87)
ReactCompositeComponentMixin._updateRenderedComponent (ReactCompositeComponent.js:562)
ReactCompositeComponentMixin._performComponentUpdate (ReactCompositeComponent.js:544)
ReactCompositeComponentMixin.updateComponent (ReactCompositeComponent.js:473)
ReactCompositeComponent_updateComponent (ReactPerf.js:66)
ReactCompositeComponentMixin.receiveComponent (ReactCompositeComponent.js:405)
ReactReconciler.receiveComponent (ReactReconciler.js:87)
ReactChildReconciler.updateChildren (ReactChildReconciler.js:84)
ReactMultiChild.Mixin._reconcilerUpdateChildren (ReactMultiChild.js:216)
ReactMultiChild.Mixin._updateChildren (ReactMultiChild.js:351)
ReactMultiChild.Mixin.updateChildren (ReactMultiChild.js:326)
ReactDOMComponent.Mixin._updateDOMChildren (ReactDOMComponent.js:871)
ReactDOMComponent.Mixin.updateComponent (ReactDOMComponent.js:700)
ReactDOMComponent.Mixin.receiveComponent (ReactDOMComponent.js:645)
ReactReconciler.receiveComponent (ReactReconciler.js:87)
ReactCompositeComponentMixin._updateRenderedComponent (ReactCompositeComponent.js:562)
ReactCompositeComponentMixin._performComponentUpdate (ReactCompositeComponent.js:544)
ReactCompositeComponentMixin.updateComponent (ReactCompositeComponent.js:473)
ReactCompositeComponent_updateComponent (ReactPerf.js:66)
ReactCompositeComponentMixin.performUpdateIfNecessary (ReactCompositeComponent.js:421)
ReactReconciler.performUpdateIfNecessary (ReactReconciler.js:102)
runBatchedUpdates (ReactUpdates.js:129)
Mixin.perform (Transaction.js:136)
Mixin.perform (Transaction.js:136)
assign.perform (ReactUpdates.js:86)
flushBatchedUpdates (ReactUpdates.js:147)
ReactUpdates_flushBatchedUpdates (ReactPerf.js:66)
Mixin.closeAll (Transaction.js:202)
Mixin.perform (Transaction.js:149)
ReactDefaultBatchingStrategy.batchedUpdates (ReactDefaultBat…Strategy.js:62)
enqueueUpdate (ReactUpdates.js:176)
enqueueUpdate (ReactUpdateQueue.js:24)
ReactUpdateQueue.enqueueForceUpdate (ReactUpdateQueue.js:143)
ReactComponent.forceUpdate (ReactComponent.js:86)
forceUpdateIfPending (deepForceUpdate.js:18)
traverseRenderedChildren (traverseRenderedChildren.js:4)
traverseRenderedChildren (traverseRenderedChildren.js:7)
deepForceUpdate (deepForceUpdate.js:33)
forceUpdateAll (requestForceUpdateAll.js:27)
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Reactions: 1
- Comments: 15 (7 by maintainers)
Commits related to this issue
- fix hot destroy problem #623 — committed to redux-form/redux-form by erikras 8 years ago
- fix hot destroy problem #623 — committed to redux-form/redux-form by erikras 8 years ago
Hi, any news why 0b8dd94#diff-d749bb1257f721af37259e0346e623be was reverted and is gone from master?
Hey guys, any news on this issue? Is
destroyOnUnmount: !(__NODE_ENV__ === 'development' && module.hot)
still the best solution?I think this is what has been screwing me up. I’m using redux-form in a next.js project and have been tearing my hair out while my state disappears automagically with a hot reload… is this going to be put back in?
Per this thread it was removed: https://github.com/erikras/redux-form/pull/947