gpt4 book ai didi

javascript - react 滚动到文本区域的底部

转载 作者:行者123 更新时间:2023-11-30 20:56:37 28 4
gpt4 key购买 nike

我将文本附加到文本区域,然后尝试滚动到底部以保留最新的 View 。但是,在这样做时,我似乎使浏览器崩溃/内存不足。谁能帮助优化这段代码?

//Appending text and calling scroll function
this.setState({ transcriptText: this.state.transcriptText + resp.log })
this.scrollToBottom();

//Textarea
<TextArea
ref={textLog => this.textLog = textLog}
autosize={{ minRows: 10, maxRows: 15 }}
value={this.state.transcriptText}
>
</TextArea>

//Scrolling
scrollToBottom = () => {
const textLogContainer = ReactDOM.findDOMNode(this.textLog);
if(textLogContainer){
textLogContainer.scrollTop = textLogContainer.scrollHeight;
}
};

完整

componentDidMount() {
const socket = io.connect(process.env.REACT_APP_API_URL, { transports: ['websocket'] });
socket.emit('onboarding', { id: uploadId });
socket.on('transcript_log', function (resp) {
this.setState({ transcriptText: this.state.transcriptText + resp.log })
this.scrollToBottom();
}.bind(this));
}

谢谢

最佳答案

使用较新的 React.createRef() 并使用 componentDidUpdate() 作为触发器更容易:

constructor(props) {
super(props);

this.textLog = React.createRef();
}

componentDidUpdate() {
this.textLog.current.scrollTop = this.textLog.current.scrollHeight;
}

render() {
return(
<textarea ref={this.textLog} value={this.state.transcriptText} />
);
}

关于javascript - react 滚动到文本区域的底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47595418/

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