Explain in Troubleshooting.md why "const anyModule = module as any;" doesn't work as expected
TobiasWehrum opened this issue · 4 comments
At https://github.com/gaearon/react-hot-loader/blob/master/docs/Troubleshooting.md, you say that
const anyModule = module as any;
if (anyModule.hot) {
anyModule.hot.accept('./app', () => render(App));
}
will lead to full page reloads, but
if ((module as any).hot) {
(module as any).hot.accept('./app', () => render(App));
}
will work. I am pretty confused by that, as I'd expect both to lead to the same result. Not understanding it makes it harder to remember too.
Could you maybe add to the document why it is behaving like this?
(Or if you don't have the time to do that at the moment, give me a hint here?)
I am pretty sure this example was not updated in past 4 years, so just not trust it 😅
Haha. Fair! But I'm still pretty curious as to why those two would be (have been in the past?) any different.
Nowadays you should not use any module.hot
in terms of React-Hot-Loader at all - there is react-hot-loader/root which does under the hood.
Don't worry, I know that. I was more wondering as to what language feature I am missing that makes these two examples any different.