0

我正在使用 Preact 构建一个 ReactJS SPA 用于学习目的。每隔一段时间,我使用的库中的组件 ( react-frame-component) 在卸载时会抛出异常,这会破坏应用程序的其他部分。这是一个相当零星的错误,因此我无法创建一个重现它的测试用例。

我确实知道错误边界,并且确实尝试将有问题的组件包装<Frame>在一个中,但它并没有产生任何影响。具体来说,我得到的错误信息是

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)

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

4

1 回答 1

0

只需制作一个“自定义”iframe即可解决:

let src = 'iframe src here';

<iframe id="my-awesome-frame"
        srcdoc={src} sandbox="allow-same-origin">
</iframe>
于 2018-02-13T21:37:40.800 回答