我正在尝试使用我的React Native项目进行热重新加载。打包器显示消息Bundling index.ios.js ... [hmr enabled]
,当我进行更改时,我看到设备上的Hot reloading...
消息闪烁,因此我确信正在检测到更改。但是,实际屏幕并未反映代码更改。实时重播工作正常。
我重新安装了节点模块并重置/卸载/重新安装了守望者。似乎没有任何效果。
我还应该尝试什么?如何找出屏幕未更新的原因?
答案 0 :(得分:6)
react-native
中当前版本的hmr仅适用于从React.Component
或Component
[see]延伸的组件。换句话说,它不适用于扩展另一个基类的功能组件或组件。
如果您有自定义基类,则可以覆盖react-transform
中的.babelrc
插件,如下所示:
{ "presets": ["react-native"], "env": { "development": { "plugins": [ ["react-transform", { "transforms": [{ "transform": "react-transform-hmr", "imports": ["react"], "locals": ["module"] }], "superClasses": ["CustomComponent", "React.Component", "Component"] } ] ] } } }