我试图让 WebPack 与用 Typescript (.tsx) 编写的 ReactJs 组件一起工作,并利用 WebPack 的热模块替换。我找到了几个描述如何做到这一点的食谱,但它们似乎都有同样的问题——如果你的组件类上有一个在渲染方法中使用的字段,那么在代码中更改它不会正确触发 HMR ,例如
export default class Counter extends React.Component<ICounterProps, ICounterState> {
...
label: string = 'Counter';
render() {
return <h1>{this.label}: {this.state.counter}</h1>;
}
}
如果修改label
代码中的值,则页面不会更新。我在找到的第一个入门项目中在 GitHub 上提出了一个问题,然后我又尝试了一堆,他们都有这个问题。这是一个大问题——如果你不能确定页面是否会更新,它会使整个 HMR 变得毫无意义。另外,请注意,这在原版 .jsx 组件中运行良好。
有没有人有办法使这项工作?任何方向我都会非常感激。