2017-07-19 28 views
0

私は入力テキストに価値を得て、反応ブートストラップでテキスト領域に追加しようとします。反応したブートストラップで入力テキストの値を取得

refで値を取得するには、ReactDOM.findDOMNodeを使用する必要があります。私は何が間違っているのか分からない。

ここに私のコード:

import React from 'react'; 
import logo from './logo.svg'; 
import ReactDOM from 'react-dom'; 
import { InputGroup, FormGroup, FormControl, Button} from 'react-bootstrap'; 
import './App.css'; 
class InputMessages extends React.Component { 
constructor(props) { 
super(props); 
this.handleChange =  this.handleChange.bind(this); 
    this.GetMessage= this.GetMessage.bind(this); 
this.state = {message: ''}; 
} 
handleChange(event) 
{  
this.setState({message: this.GetMessage.value}); 
} 
GetMessage() 
{ 
return ReactDOM.findDOMNode(this.refs.message ); 
} 
render() { 
    var message = this.state.message; 
    return(
<FormGroup > 
<FormControl 
componentClass="textarea" value={message} /> 
<InputGroup> 
<FormControl type="text" ref='message' /> 
    <InputGroup.Button> 
    <Button bsStyle="primary" onClick={this.handleChange}>Send 
    </Button> 
    </InputGroup.Button> 
    </InputGroup> 
    </FormGroup> 
    ); 
    } 
    } 
    export default InputMessages; 
+2

のような値を取得しますあなたのコードを合理的にフォーマットする時間と一貫性はあなたがより良い/より速い答えを得るのを助けるようです。また、スタックスニペット( '[<]]'ツールバーボタン)を使用して** runnable ** [mcve]で質問を更新することを検討してください。スタックスニペットはJSXを含むReactをサポートします。 [これを行う方法はこちら](http://meta.stackoverflow.com/questions/338537/)。 –

答えて

0

は、フォームに入力REFを追加しますので、

<FormControl inputRef={ref => { this.myInput = ref; }} /> 

を今助けを求めるときに、あなたが取って、

this.myInput.value 
+0

入力が反応するブートストラップにはありません。使用したくありません。 – Vana

+0

@Vana私は答えを編集しました。 – Fawaz

+0

それは動作しますが、私は状態の値を保存します。私は変数にそれを格納したいと思います。私は2つのコンポーネントを使用するので、this.myinput.valueを他のコンポーネントに書き込むことはできません – Vana

関連する問題