J'ai essayé de convertir ce javascript plain pour réagir avec USEREF Hook.
JS plain: https://codesandbox.io/s/frienly-maxwell -UB18W? File = / src / index.js P>
réagit: https://codesandbox.io/s/stry-frog-urzjp?file=/src/app.js p>
export default function App() { const fileElem = useRef(null); return ( <div className="App"> <input id="fileElem" multiple accept="image/*" style={{ display: "none" }} /> <button onClick={() => fileElem.current.click()}> Select some files </button> </div> ); }
3 Réponses :
à l'intérieur de votre entrée au lieu d'utiliser C'est comme ça que nous le faisons dans réagir. p> id = 'fileelem' code> Utiliser
ref = {fileelem} code> et cela devrait fonctionner correctement. P>
Changer fileelem.current.click () code> à
fileelem.current.current.click code>. Avec les parenthèses, vous êtes appelant forte> la fonction de clic sur la référence qui l'empêche d'être immédiatement cliqué, puis d'attribuer la valeur de retour au
onclick code> gestionnaire de l'élément de réact. Au lieu de cela, vous voulez affecter le gestionnaire de clic de
Fileelem code> dans le gestionnaire de clic de l'élément de réact. P>
Vous devez utiliser cocher < Un href = "https://reactjs.org/docs/refs-and-thi-dom.html" rel = "nOfollow noreferrer"> Ce pour utiliser ref = {fileelem} code> et
type = "fichier" code>, comme indiqué ci-dessous:
ref code>. < / p> p>
Veuillez poster le code pertinent dans votre question / problème (en plus des liens), avec des étapes de reproduction appropriées, si nécessaire. Comment demander