Javascript Js div在React组件中滚动到底部
我在编写函数scrollToBot时遇到了一个问题。该函数将由componentDidMount和componentDidUpdate调用。但是div不会滚动。我不知道这个函数出了什么问题。我必须使用JQuery来实现这个函数吗 提前谢谢Javascript Js div在React组件中滚动到底部,javascript,reactjs,scroll,Javascript,Reactjs,Scroll,我在编写函数scrollToBot时遇到了一个问题。该函数将由componentDidMount和componentDidUpdate调用。但是div不会滚动。我不知道这个函数出了什么问题。我必须使用JQuery来实现这个函数吗 提前谢谢 scrollToBot(){ console.log(this.textAreaDiv.offsetHeight); // 4000 if(this.textAreaDiv.offsetHeight>3000){ cons
scrollToBot(){
console.log(this.textAreaDiv.offsetHeight); // 4000
if(this.textAreaDiv.offsetHeight>3000){
console.log("should scoll!!!!!!!!!!!!!!"); // showed
this.textAreaDiv.scrollTop=2000;
}
console.log('run scrollTo'); // showed
}
componentDidMount(){
this.scrollToBot();
}
componentDidUpdate(){
this.scrollToBot();
}
这在React中不起作用,因为它使用虚拟DOM来访问需要使用REF的真实DOM元素,如中所述。这在React中不起作用,因为它使用虚拟DOM,要访问真正的DOM元素,您需要使用JSX中所述的ref,使用react组件的其余部分访问DOM元素 例如:
...
textAreaDiv: null
setInputRef(dom){
this.textAreaDiv = dom
}
render(){
<div ref={this.setInputRef}/>
}
。。。
textAreaDiv:null
setInputRef(dom){
this.textAreaDiv=dom
}
render(){
}
`在JSX中,使用
ref
从react组件的其余部分访问dom元素
例如:
...
textAreaDiv: null
setInputRef(dom){
this.textAreaDiv = dom
}
render(){
<div ref={this.setInputRef}/>
}
。。。
textAreaDiv:null
setInputRef(dom){
this.textAreaDiv=dom
}
render(){
}
`