我有一个大型代码库,其中使用了带有JSS的 Material UI。
jss/
a.js Default or named export `astyle`
b.js Default or named export `bstyle`
index.js - Re-exports the JSS
所有其他文件导入如import { astyle } from './jss'
ComponentA.jsx - contains `import { astyle } from './jss'`
ComponentB.jsx - contains `import { bstyle } from './jss'`
App.jsx - imports ComponentA and ComponentB
更新a.js
导致ComponentB
重新渲染的原因,有什么办法可以告诉 webpack 不要重新加载整个jss/index.js
?
组件工作正常
componets/
ComponentC.jsx - default or named export
ComponentD.jsx - default or named export
index.js - Re-exports the components
App.jsx - import { ComponentC, ComponentD } from './components'
更新ComponentC
不会重新渲染ComponentD
或components/index.js
我正在寻找破坏性最小的解决方案,并且不希望通过文件名直接导入所有样式摆脱jss/index.js
这是演示存储库,基于此处的快速刷新存储库中的示例