Javascript 使用ref(第三方库)更改元素
我使用第三方库显示带有寻呼机的表格:Javascript 使用ref(第三方库)更改元素,javascript,reactjs,Javascript,Reactjs,我使用第三方库显示带有寻呼机的表格: <Grid ref={Grid => { this.gridRef = Grid; }} {...props} /> 我可以使用innerHTML添加简单文本,但是如何添加React类GridPager? 这是我第一次使用ref并使用React处理DOM。根据我所知道的,您正在尝试/想要做的事情既不可能,也不鼓励 应该没有办法像那样主动修改React DOM childNodes元素应该是只读的,即使
<Grid
ref={Grid => {
this.gridRef = Grid;
}}
{...props} />
我可以使用innerHTML
添加简单文本,但是如何添加React类GridPager
?
这是我第一次使用ref并使用React处理DOM。根据我所知道的,您正在尝试/想要做的事情既不可能,也不鼓励 应该没有办法像那样主动修改React DOM
childNodes
元素应该是只读的,即使您仍然可以修改内部HTML
ref
s应用于在React DOM的不同组件之间触发事件,因为某些原因,您不想使用道具传递函数
在这里看到更多
这里呢
我知道您尝试这样做的原因和原因,但是如果您使用的是一个您没有创建的组件,我认为在包装或使用它的代码上尝试修改它不是一个好主意,而是直接从源代码进行更改。此库的开发人员(KnedoUI)提供了一种使用JQuery更改的官方方法。我以前没有在任何时候使用
ref
,但在这个场景中,我认为这是一个真正的需要。谢谢@Carlo:)
componentDidMount() {
// display the Grid elements
//console.log(this.gridRef.widgetInstance.element);
// This won't work
//this.gridRef.widgetInstance.element[0].childNodes[1] = <GridPager />;
// Change the Grid pager to simple 'test'
// this.gridRef.widgetInstance.element[0].childNodes[1].innerHTML = 'test';
}