import { Component } from 'react';
import ScrollBox from './ScrollBox';
class App extends Component {
render() {
return (
<div>
<ScrollBox ref={(ref) => (this.scrollBox = ref)} />
<button onClick={() => this.scrollBox.scrollToBottom()}>
Go bottom..
</button>
</div>
);
}
}
export default App;
import { Component } from 'react';
class ScrollBox extends Component {
scrollToBottom = () => {
const { scrollHeight, clientHeight } = this.box;
this.box.scrollTop = scrollHeight - clientHeight;
};
render() {
const style = {
border: '1px solid black',
height: '300px',
width: '300px',
overflow: 'auto',
position: 'relative',
};
const innerStyle = {
width: '100%',
height: '650px',
background: 'linear-gradient(white, black)',
};
return (
<div
style={style}
ref={(ref) => {
this.box = ref;
}}
>
<div style={innerStyle} />
</div>
);
}
}
export default ScrollBox;
버튼을 우르면 스크롤리 자동으로 아래로 내려간다.
'Research > React' 카테고리의 다른 글
useState로 여러 상태 관리하기 (0) | 2023.10.25 |
---|---|
React input 추가/삭제 기능 + 컴포넌트 반복 표현 (0) | 2023.10.24 |
React handling multiple inputs data with useState (0) | 2023.10.24 |
React_state 그리고 useState (1) | 2023.10.23 |
React_ 함수형 컴포넌트와 클래스형 컴포넌트 (0) | 2023.10.23 |
댓글