Javascript 在React中手动更改DOM

Javascript 在React中手动更改DOM,javascript,reactjs,ionic-framework,Javascript,Reactjs,Ionic Framework,我使用的是爱奥尼亚的IonPicker组件,它将ion-background元素作为React的div#root的兄弟元素呈现为一个ion-picker元素,它看起来是一个全屏覆盖,有两个子元素:一个ion-background元素及其兄弟元素div.picker-wrapper 我正试图提取div.picker-wrapper元素,这样我就可以,比如说,相对于我的应用程序中的其他组件来放置它,并且我还希望能够向它添加元素,就像是div.picker-wrapper的子按钮一样,并且该按钮必须

我使用的是爱奥尼亚的
IonPicker
组件,它将
ion-background
元素作为React的
div#root
的兄弟元素呈现为一个
ion-picker
元素,它看起来是一个全屏覆盖,有两个子元素:一个
ion-background
元素及其兄弟元素
div.picker-wrapper

我正试图提取
div.picker-wrapper
元素,这样我就可以,比如说,相对于我的应用程序中的其他组件来放置它,并且我还希望能够向它添加元素,就像是
div.picker-wrapper
的子按钮一样,并且该按钮必须是一个react组件。因此,我认为单独访问
div.picker-wrapper
的现有子级、
div.picker-toolbar
div.picker-columns
,也会很好

当然,我需要能够使用IonPicker的道具和方法以及一切

所以我试着抓取DOM元素并删除它们,移动它们,诸如此类的东西,当然我不希望用户看到东西消失或重新出现,所以,就是这样

我想答案是“使用参考文献”,所以请提供更多细节。首先,我已经试过了

picker:reObject=React.createRef();
render(){
返回(
);
}
但是
picker
和/或
picker.current
始终未定义或为空


我在不同的地方(
componentDidMount
render
shouldComponentUpdate
)尝试了
const x=document.getElementById('ion-overlay-1')
),但它从来没有出现过。

你试过把它放在componentDidMount()函数下吗?它可能试图在加载DOM元素之前抓取它们。令人惊讶的是,它们还没有加载。这可能是因为一些入门动画,但我设置了
animated={false}
,没有任何改进。