0
votes

Conversion de js plaine pour réagir.js en utilisant useref crochet

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>
  );
}


1 commentaires

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


3 Réponses :


1
votes

à l'intérieur de votre entrée au lieu d'utiliser id = 'fileelem' Utiliser ref = {fileelem} et cela devrait fonctionner correctement.

C'est comme ça que nous le faisons dans réagir.


0 commentaires

1
votes

Changer fileelem.current.click () à fileelem.current.current.click . Avec les parenthèses, vous êtes appelant 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 gestionnaire de l'élément de réact. Au lieu de cela, vous voulez affecter le gestionnaire de clic de Fileelem dans le gestionnaire de clic de l'élément de réact.


0 commentaires

0
votes

Vous devez utiliser ref = {fileelem} et type = "fichier" , comme indiqué ci-dessous: xxx

cocher < Un href = "https://reactjs.org/docs/refs-and-thi-dom.html" rel = "nOfollow noreferrer"> Ce pour utiliser ref . < / p>


0 commentaires