我有一个带有以下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”:要在其之前插入新节点的节点不是该节点的子节点。
任何人都不知道是什么原因造成的吗?
答案 0 :(得分:1)
事实证明,这是引发错误的子组件。即使在setState
行抛出异常,问题仍然出在我的render
方法中。如果有人遇到同样的问题,我建议您看看render
方法,看看出了什么问题。