是什麼在React中處理滾動位置的方法?由於更好的用戶體驗,我非常喜歡平滑滾動。由於在React中操作DOM是一種反模式,我遇到了問題:如何順利滾動到某個位置/元素?我通常會更改元素的scrollTop值,但這是對DOM的操作,這是不允許的。處理動畫在React中動畫
代碼:
import React from 'react';
import ReactDOM from 'react-dom';
class App extends React.Component {
handleClick = e => {
for (let i = 1; i <= 100; i++) {
setTimeout(() => (this.node.scrollTop = i), i * 2);
}
};
render() {
const someArrayToMap = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
return (
<div ref={node => this.node = node} style={{overflow: 'auto', height: '100vh'}}>
<button onClick={this.handleClick}>CLICK TO SCROLL</button>
{
[...someArrayToMap,
...someArrayToMap,
...someArrayToMap,
...someArrayToMap,
...someArrayToMap,
...someArrayToMap,
...someArrayToMap].map((e, i) => <div key={i}>some text here</div>)
}
</div>
);
}
}
ReactDOM.render(<App />, document.getElementById('root'));
如何做到這一點的陣營方式?
既然你是圖書館這樣做的作者,並且op在_how上以反應的方式做了這個,沒有圖書館。 (這就是我如何回答問題,並希望得到答案) –