首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ReactJS/Preact处理零星组件卸载错误?

如何使用ReactJS/Preact处理零星组件卸载错误?
EN

Stack Overflow用户
提问于 2018-02-12 20:43:13
回答 1查看 179关注 0票数 0

为了学习目的,我正在构建一个带有Preact的ReactJS SPA。每隔一段时间,我使用的库(react-frame-component)中的一个组件将在卸载时抛出一个异常,从而破坏应用程序的其他部分。这是一个非常偶然的错误,因此我无法创建一个再现它的测试用例。

我确实了解误差边界,并尝试将有问题的<Frame>组件封装在一起,但这并没有产生什么影响。具体来说,我得到的错误消息是

代码语言:javascript
复制
Uncaught (in promise) TypeError: Cannot read property 'body' of null
    at Frame.getMountTarget (Frame.js:112)
    at Frame.componentWillUnmount (Frame.js:95)
    at unmountComponent (preact.js:355)
    at unmountComponent (preact.js:358)
    at recollectNodeTree (preact.js:198)
    at removeChildren (preact.js:208)
    at recollectNodeTree (preact.js:201)
    at removeChildren (preact.js:208)
    at recollectNodeTree (preact.js:201)
    at removeChildren (preact.js:208)

我不知道如何自己捕获这个错误,甚至只是正确地调试它。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-13 21:37:40

通过仅仅创建一个“自定义”iframe来解决:

代码语言:javascript
复制
let src = 'iframe src here';

<iframe id="my-awesome-frame"
        srcdoc={src} sandbox="allow-same-origin">
</iframe>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48755214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档