2015-10-14 2 views
5

私は、動的に作成された複数のテキスト入力を動的に作成しています。Refacts変数に設定されたDOMノードを見つけますか?

私は、変数への参照を設定し、私は取得しています

.VALUE React.findDOMNode(this.refs.Variable)と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: '' 
    }); 
}, 

答えて

9
var Value = React.findDOMNode(this.refs.refID).value; 

REF "refID"とコンポーネントのDOMノードを発見します。あなたはREF​​(変数)を持つコンポーネントのDOMノードを検索したい場合は、

var Value = ReactDOM.findDOMNode(this.refs[refID]).value; 
+1

ありがとうございました! –

+4

私は 'ReactDOM.findDOMNode'ではなく' React.findDOMNode'であると思います –

0

これは次のように関数が見えるものです。

二つの可能な例:

  • IDが間違っています。コードをもう一度確認するかlog IDをダブルチェックしてください
  • 早く呼び出されました:componentDidMountが呼ばれていますか?
+0

IDは正しいです、そして流星(私は思う)はcomponentDidMountを扱います。問題は、変数を使って "this.refs"を見つけることにあります。 –

+0

例:var A = foo; React.findDOMNode(this.refs.A).value; –

関連する問題