gpt4 book ai didi

reactjs - ReactDOM.findDOMNode() 现在已弃用,它的替代方案是什么?

转载 作者:行者123 更新时间:2023-12-03 13:27:27 24 4
gpt4 key购买 nike

我有一个使用 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}/>
)
}
}

最佳答案

根据 this github issue ReactDocs ,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>
}
}

关于reactjs - ReactDOM.findDOMNode() 现在已弃用,它的替代方案是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50597152/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com