现在不推荐使用ReactDOM.findDOMNode()的替代方法是什么?
我有一个正在使用的旧代码findDOMNode()
。
这里是我的代码,其中someComponent1
和Expand
已经导入。
在这里,我有些疑问,我编写的代码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