-
Notifications
You must be signed in to change notification settings - Fork 801
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v4 does not use updated non-React modules #949
Comments
The problem - RHL do have a logic to "update" bound methods, and it is straightforward - If a method was changed - update it! The only possible change - always update all the bound/arrow methods. |
Thank you. That was a major bug. |
No problem! Great to see that you got a fix ready so quickly 😃 |
in v4, when I change the method in some components, the hot reload not work, but if I change its parent components methods which as props pass to it, the hot reload worked fine. I wonder is this the same problem above? |
@TSL112358 - sounds like something different. But it sounds similar to #944 |
fix: always update bound functions. #949
In our application, update a non-React module will cause page reload (not hot reload). Is this a right behavior? Or I'm using the wrong way. react-hot-loader 4.1.2 |
If "propagation" change bubling will not "hit" |
@theKashey Is there any way for me to use this updated code that has the fix? |
We will release a new version today 🤞 |
Fixed in version |
Sorry breaking this back. |
@theKashey can you say how we can help with development to fix this issue? |
In short - #1138 |
Description
If a React module depends on a module that is not a React component and the non-React module is updated, the code is hot reloaded but the React module does not use the updated non-React module. This was working in v3 and seems like it should work automatically when using ES2015 modules.
Expected behavior
The React module should use the updated non-React module.
This was working as expected with
[email protected]
.Actual behavior
The React module continues to use the old non-React module.
Environment
React Hot Loader version:
4.1.2
,4.3.0+
Irrelevant version info
1. `node -v`: 10.15.1 2. `npm -v`: 6.4.1And
Reproducible Demo
https://github.com/nwoltman/rhl-bug-repro
Follow the instructions in the README. When you modify the
sanitizeEmail
function, the console shows that HMR worked, but when you type in the text input on the page, it seems to still be using the oldsanitizeEmail
function.If you change the
react-hot-loader
version inpackage.json
to3.1.3
(and uncomment'react-hot-loader/patch'
inwebpack.config.js
)4.2.0
(this bug was temporarily patched in that version), it works as expected.The text was updated successfully, but these errors were encountered: