React + Redux Hot模块替换崩溃,'_pendingForceUpdate'未定义

时间:2018-04-19 17:57:43

标签: reactjs asp.net-core hot-module-replacement asp-net-core-spa-services

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

[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)

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

我也注意到,它没有附加到服务器端渲染,之前,如果出现问题,VS在线路上造成了问题,没有.NET异常只是以纯文本形式返回到浏览器。

老实说,我甚至不知道是不是要开始排除故障排除,提示?

1 个答案:

答案 0 :(得分: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') ">