In diesem Artikel gehen wir auf ein häufiges Problem ein, bei dem die Bildlaufleiste eines Chat-Widgets bei neuen Nachrichten oben fixiert bleibt laden. Unser Ziel ist es, die Bildlaufleiste auf das letzte Nachrichtenelement aus dem vorherigen Array zu fokussieren.
Um dieses Problem zu lösen, müssen wir:
React 16.8 , Funktionskomponente:
const ScrollDemo = () => { const myRef = useRef(null); const executeScroll = () => myRef.current.scrollIntoView(); // Scroll to the element return ( <> <div ref={myRef}>Element to scroll to</div> <button onClick={executeScroll}>Click to scroll </button> </> ); };
React 16.3 , Klassenkomponente:
class ReadyToScroll extends Component { constructor(props) { super(props); this.myRef = React.createRef(); } render() { return <div ref={this.myRef}>Element to scroll to</div>; } executeScroll = () => this.myRef.current.scrollIntoView(); // Scroll to the element }
Klassenkomponente – Ref Rückruf:
class ReadyToScroll extends Component { render() { return <div ref={(ref) => (this.myRef = ref)}>Element to scroll to</div>; } executeScroll = () => this.myRef.scrollIntoView(); // Scroll to the element }
Wichtige Hinweise:
html { scroll-behavior: smooth; }
Das obige ist der detaillierte Inhalt vonWie scrolle ich in React zum Ende eines Chat-Widgets?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!