现在不推荐使用ReactDOM.findDOMNode()的替代方法是什么?

我有一个正在使用的旧代码findDOMNode()

这里是我的代码,其中someComponent1Expand已经导入。

在这里,我有些疑问,我编写的代码findDOMNode()可以正常工作,但是由于现在不推荐使用,所以我想删除它。我浏览了许多文档,发现使用门户或引用代替了此。我的理解是,如果我使用ref,那么变量get

bind到该变量也可以访问DOM元素,但是我想我错了,因为它以这种方式工作。有人可以纠正我对此的理解

class classA extends Component {

componentDidMount() {

new Expand(ReactDOM.findDOMNode(this.expand))

// new Expand(this.expand)

}

render(){

return(

<someComponent1 className={style.container} ref={e => this.expand= e}/>

)

}

}

回答:

根据 和

ReactDOM.findDOMNode不建议弃用,但不鼓励使用它,仅应将其用作逃生舱口。为了替换它,您需要在DOM元素上指定ref,在您的情况下看起来像

class classA extends Component {

componentDidMount() {

new Expand(this.expand)

}

render(){

return(

<SomeComponent1 className={style.container} innerRef={e => this.expand= e}/>

)

}

}

class SomeComponent1 extends React.Component {

render() {

return <div ref={this.props.innerRef}>Hello</div>

}

}

以上是 现在不推荐使用ReactDOM.findDOMNode()的替代方法是什么? 的全部内容, 来源链接: utcz.com/qa/435955.html

回到顶部