web-dev-qa-db-ja.com

React変数に設定された参照によってDOMノードを検索しますか?

入力で更新したいテキストと一緒に、複数のテキスト入力を動的に作成しています(動的に作成された参照を使用)。

Refを変数に設定し、React.findDOMNode(this.refs.Variable).valueでDOMノードを見つけることで、入力の値を取得しようとしています。

「nullのプロパティ '値'を読み取れません」というエラーが発生します。

どうすればこれを達成できますか?

関数は次のようになります。

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: ''
  });
},
7
Mark Anderson
var Value = React.findDOMNode(this.refs.refID).value;

ref "refID"を持つコンポーネントのDOMノードを検索します。 ref refID(変数)を持つコンポーネントのDOMノードを検索する場合は、

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

私がしなければなりませんでした

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

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

2
lakesare

「nullのプロパティ '値'を読み取れません」というエラーが発生します。

2つの考えられるケース:

  • iDが間違っています。さらにコードを確認するか、logを確認して、IDが自分の考えどおりであることを再確認してください
  • 早期に呼び出されました:componentDidMountが呼び出されましたか?
0
basarat