-
Notifications
You must be signed in to change notification settings - Fork 50k
Description
I'm having a hard time narrowing a repro down for this and there seem to be a lot of required moving parts, so I'll try to give as much information as I can.
Relevant snippet of package.json:
"react": "15.0.0-rc.2", // repros w/ 0.14.7 as well
"react-dom": "15.0.0-rc.2",
"react-redux": "4.0.6",
"react-router": "2.0.0-rc5",
"react-router-redux": "4.0.0-rc.1",
"redux": "3.2.1",
Our routes look something like this:
<Route component={App}>
<Route component={LayoutNoFooter}>
<Route component={Page2} />
</Route>
<Route component={Layout}>
<Route component={Page1} />
</Route>
</Route>
LayoutNoFooter simply wraps Layout and passes an additional prop in.
I have this component in the Header, which is rendered by Layout: https://gist.github.com/aaronjensen/86c9643ecc53ad4e9006
Header is a react-redux connected component.
Page1 has a componentWillUnmount that dispatches an action that ultimately toggles searchMode in HeaderLogo.
When I go from Page1 to Page2 the invariant violation fires.
If I setTimeout the action dispatch in componentWillUnmount it appears to work fine. If I replace LayoutNoFooter with Layout it appears to work fine.
The invariant violation is on the img tag of the HeaderLogo
I've tried building a repro in codepen, with a similar structure setState calls to simulate react-router and redux, but I suspect they are doing more that would require me to actually build a repro w/ those technologies. If that would be helpful, I can work on it over time and hopefully repro it. Maybe there's enough info here, however. Thanks!
