1

我有一个以 asp.net 核心作为后端的 react/redux。热模块替换正在工作,但不幸的是,在某些时候对反应组件的任何更改都会卸载页面并在控制台中崩溃:

[HMR] bundle rebuilding
client.js:207 [HMR] bundle rebuilt in 1141ms
client.js:199 [HMR] bundle rebuilding
client.js:207 [HMR] bundle rebuilt in 1976ms
process-update.js:27 [HMR] Checking for updates on the server...
vendor.js?v=Z8yGCzaP6rxOGgnos6PhMhr0V40qjsLRdHFCMY2G9u4:40 TypeError: Cannot 
read property '_pendingForceUpdate' of undefined
at setPendingForceUpdate (index.js:20)
at traverseRenderedChildren (index.js:6)
at deepForceUpdate (index.js:40)
at AppContainer.componentWillReceiveProps (AppContainer.dev.js:45)
at s (vendor.js?v=Z8yGCzaP6rxOGgnos6PhMhr0V40qjsLRdHFCMY2G9u4:40)
at updateClassInstance (vendor.js?v=Z8yGCzaP6rxOGgnos6PhMhr0V40qjsLRdHFCMY2G9u4:40)
at beginWork (vendor.js?v=Z8yGCzaP6rxOGgnos6PhMhr0V40qjsLRdHFCMY2G9u4:40)
at i (vendor.js?v=Z8yGCzaP6rxOGgnos6PhMhr0V40qjsLRdHFCMY2G9u4:40)
at a (vendor.js?v=Z8yGCzaP6rxOGgnos6PhMhr0V40qjsLRdHFCMY2G9u4:40)
at w (vendor.js?v=Z8yGCzaP6rxOGgnos6PhMhr0V40qjsLRdHFCMY2G9u4:40)

该项目是从 ASP.NET Core+React+Redux 应用程序的 Visual Studio 模板创建的。

我还注意到,它没有附加到服务器端渲染,早些时候,如果出现问题,VS 在导致问题的行上中断,没有.NET 异常只是以纯文本形式返回给浏览器。

老实说,我什至不知道要开始对此设置进行故障排除,有什么提示吗?

4

1 回答 1

0

可能的原因之一是您正在使用 react 的生产版本。您可以尝试删除 dist 文件夹(在模板中的 wwwroot 和 ClientApp 文件夹下)并在调试配置中重建项目。另外,请确保您在 webpack 配置中将 NODE_ENV 设置为“开发”。

在发布配置中构建项目然后不删除 wwwroot 下的 dist 文件夹后,可能会出现此问题。这是因为 csproj 文件中的默认配置仅在 dist 文件夹不存在时触发 webpack 构建:

<Target Name="DebugRunWebpack" BeforeTargets="Build" Condition=" '$(Configuration)' == 'Debug' And !Exists('wwwroot\dist') ">
于 2019-11-01T11:13:37.857 回答