web-dev-qa-db-fra.com

Réagir à la recherche du nœud DOM par les références à variable?

Je crée dynamiquement plusieurs entrées de texte (avec des références créées de manière dynamique) à côté du texte que je souhaite mettre à jour avec l'entrée.

J'essaie d'obtenir la valeur de l'entrée en définissant la référence sur une variable et en recherchant le noeud DOM avec React.findDOMNode (this.refs.Variable) .value

Je reçois une erreur "Impossible de lire la propriété 'valeur' ​​de null".

Comment puis-je atteindre cet objectif?

Voici à quoi ressemble la fonction:

resetUnit: function(e){
  var refID = e.target.id;
  var ID = refID.split("-")[0];
  var Value = React.findDOMNode(this.refs.refID).value;
  NodesCollection.update({_id: ID},{$set: { materialUnit : Value}});
  this.setState({
    edit: ''
  });
},
6
Mark Anderson
var Value = React.findDOMNode(this.refs.refID).value;

trouve le nœud DOM du composant avec la référence "refID". Si vous voulez trouver le noeud DOM pour le composant avec la référence refID (la variable), vous avez besoin de

var Value = ReactDOM.findDOMNode(this.refs[refID]).value;
11
Michelle Tilley

Je devais faire 

import ReactDOM from 'react-dom';
ReactDOM.findDOMNode(this.refs.hi);

dans React 15.2.1 ( https://facebook.github.io/react/docs/top-level-api.html#reactdom.finddomnode )

2
lakesare

Je reçois une erreur "Impossible de lire la propriété 'valeur' ​​de null".

Deux cas possibles:

  • l'identifiant est faux. Examinez le code suivant ou log pour vérifier que l'ID est bien ce que vous croyez
  • Appelé tôt: êtes-vous sûr que componentDidMount a été appelé?
0
basarat