反应组件刷新时引发错误

时间:2018-11-16 12:24:40

标签: reactjs typescript

我有一个带有以下componentDidMount方法的react typescript组件:

componentDidMount() {
    ComponentFields.get(this.ComponentName)
        .then(activeFields => {
            this.setState({ activeFields });
        });
}

它具有一个带有以下字段的状态界面

export interface ISettingsPageState {
    activeFields: Dictionary<IComponentField>,
}

其中IComponentField是接口。ComponentFields.get(componentName: string)是返回Promise<IDictionary<IComponentField>>的静态方法。

它在第一次加载时运行良好,但是当我刷新页面时,setState中的componentDidMount方法抛出以下异常:

未捕获的DOMException:无法在“节点”上执行“ insertBefore”:要在其之前插入新节点的节点不是该节点的子节点。

任何人都不知道是什么原因造成的吗?

1 个答案:

答案 0 :(得分:1)

事实证明,这是引发错误的子组件。即使在setState行抛出异常,问题仍然出在我的render方法中。如果有人遇到同样的问题,我建议您看看render方法,看看出了什么问题。