我有一个外部库用于渲染一些自定义的js控件。该库返回一个DOM元素,可以插入到页面中。
我正在为React创建该库的包装器。除了不确定如何允许渲染函数接受DOM元素作为其返回值之外,我已将其全部连通。
render() {
if (this.state.someType) {
let customControl = new this.state.someType();
var node = customControl.getNode();
return node; //This is an HTMLDOMElement i.e. div or span
}
return <div>Loading Custom Control...</div>;
}
我能够调试代码,一切都正常运行。节点与我的预期相符,但页面上的HTML从未被替换。
ref
也会被调用,导致在该调用中nodeElement
值为undefined
。你应该包含一个检查nodeElement && nodeElement.appendChild...
,来避免出现错误。 - Qwerty