Maison >interface Web >js tutoriel >Réf.
Dans le développement des composants
Et le refuge de rappel est deux outils puissants. useEffect
Il s'agit d'un crochet multi-fonctions pour gérer divers effets secondaires, et le Recovery Ref fournit des méthodes plus directes et plus efficaces dans des scénarios spécifiques. useEffect
de l'élément. Cette fonction d'ajustement reçoit l'élément DOM en tant que paramètre, vous permettant de: 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
Sélectionnez la méthode correcte <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>Pour les opérations directes du DOM et éviter le re-redémarrage inutile à une situation vitale, il est généralement préféré de récupérer la réf.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!