我的React组件如下:
var ContentBox = React.createClass({
componentDidMount:function() {
this.getContents();
},
getContents:function() {
$.ajax({
url : ......
success:function(contents) {
this.setState({
contents : contents
});
}.bind(this)
});
},
componentDidUpdate:function() {
ReactDOM.findDOMNode(this).scrollTop = 0;
}
});
从本质上讲,我想做的是,当页面呈现时,我想滚动到页面的顶部。“内容”根据路由参数而变化。
我已经尝试了Scroll to the top of the page after render in react.js中给出的解决方案,但它对我不起作用。
更新:以下工作
componentDidUpdate:function() {
ReactDOM.findDOMNode(this).scrollIntoView();
}
为什么ReactDOM.findDOMNode(this).scrollTop = 0;
不工作?另外,我尝试了$(window).scrollTop()
,但它也不起作用。我试着把它们放在 AJAX 请求的“success”函数中,但也不起作用。
1条答案
按热度按时间pcww981p1#
对于react-router-dom v6+
1.打开App.js文件并导入:
1.在“App”函数上方创建一个scrollTop函数:
1.在scrollTop函数中 Package 路由:
这里是完整的代码👇