getElementById in React

erreur à l'instant:

Uncaught TypeError: Cannot read property 'value' of null

je l'appelle dans ma fonction rendu ci-dessous:

<input type="submit" className="nameInput" id="name" value="cp-dev1" onClick={this.writeData}/>

j'ai aussi essayé d'appeler ici

componentWillMount: function(){
        var name = document.getElementById('name').value;
      },

Comment puis-je obtenir l'id d'un champ de texte d'entrée et lire cette valeur et m'assurer qu'elle n'est pas nulle?

je pense que le DOM est le chargement d'une fois j'ai essayer de lire l'élément donc pourquoi il est null

8
demandé sur Shubham Khatri 2016-10-26 10:55:07

1 réponses

Vous devez avoir votre fonction dans l' componentDidMount lifecycle puisque c'est la fonction qui est appelée lorsque le DOM est chargé.

utiliser refs pour accéder à L'élément DOM

<input type="submit" className="nameInput" id="name" value="cp-dev1" onClick={this.writeData} ref = "cpDev1"/>

  componentDidMount: function(){
    var name = React.findDOMNode(this.refs.cpDev1).value;
    this.someOtherFunction(name);
  }

Voir cette réponse pour plus d'infos sur comment accéder à l'élément dom dans React

5
répondu Shubham Khatri 2017-11-21 07:22:20