Bei der Entwicklung von
React -Komponenten sind die Nebenwirkungen und DOM -Wechselwirkung kritisch. und der Callback Ref sind zwei leistungsstarke Tools. useEffect
Es handelt sich um einen Multi -Funktions -Haken, um verschiedene Nebenwirkungen zu behandeln, und der Recovery Ref bietet in bestimmten Szenarien direktere und effizientere Methoden. useEffect
des Elements. Diese Einstellfunktion empfängt das DOM -Element als Parameter, sodass Sie: ref
useEffect
useEffect
<code class="language-javascript">import React, { useRef } from 'react'; function InputWithFocus() { const inputRef = useRef(null); const handleRef = (element) => { if (element) { element.focus(); } }; return <input ref={handleRef} />; }</code>
<code class="language-javascript">import React, { useState, useRef, useCallback } from 'react'; function Chat() { const [messages, setMessages] = useState([]); const messagesEndRef = useRef(null); const scrollToBottom = useCallback(() => { if (messagesEndRef.current) { messagesEndRef.current.scrollIntoView({ behavior: 'smooth' }); } }, [messages]); const handleSendMessage = () => { setMessages([...messages, "New Message"]); scrollToBottom(); }; return ( <div> {messages.map((msg, index) => ( <div key={index}>{msg}</div> ))} <div ref={messagesEndRef} /> <button onClick={handleSendMessage}>Send</button> </div> ); }</code>
useEffect
Wählen Sie die richtige Methode <code class="language-javascript">import React, { useState, useEffect, useRef } from 'react'; function Chat() { const [messages, setMessages] = useState([]); const messagesEndRef = useRef(null); useEffect(() => { scrollToBottom(); }, [messages]); const scrollToBottom = () => { if (messagesEndRef.current) { messagesEndRef.current.scrollIntoView({ behavior: 'smooth' }); } }; const handleSendMessage = () => { setMessages([...messages, "New Message"]); }; return ( <div> {messages.map((msg, index) => ( <div key={index}>{msg}</div> ))} <div ref={messagesEndRef} /> <button onClick={handleSendMessage}>Send</button> </div> ); }</code>
Das obige ist der detaillierte Inhalt vonCallback Refs vs. UseEffect: Wann zu verwenden, welche. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!