現在react-reduxにてチャットアプリケーションを作成しています。
inputのvalueの参照方法がいまいちわからないのでこのようなコードでinputの中身を参照していますが、
このコードだとブラウザーが無限ループしてしまうようで、テストができずに困っています。
class InputArea extends React.Component{ constructor(){ super(); this.state = { inputText: '' } } _onChanges(e){ this.setState({ inputText: e.target.value }) } render(){ const { onSend } = this.props; return( <div> <input type="text" placeholder="input your text !!" onChange={this.state._onChanges} /> <button onClick={this.props.onSend(this.state.inputText).bind(this)}>送信</button> </div> ); } } const mapDispatchToProps = (dispatch) => { return{ onSend:(object) => {dispatch(sendMessage(object))} } }
なぜこのコードが間違っているのかと、
reduxの場合のinputの参照方法を詳しく教えていただきたいです。
ちなみに
class InputArea extends React.Component{ render(){ let inputs; const { onSend } = this.props; return( <div> <input type="text" placeholder="input your text !!" ref={(node) => { inputs = node }} /> <button onClick={this.props.onSend(inputs.value)}>送信</button> </div> ); } }
このような参照方法だと、
Uncaught TypeError: Cannot read property 'value' of undefined
のエラーになってしまいます。。。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/04 05:33
2017/01/04 05:36
2017/01/04 05:38
2017/01/04 07:06
2017/01/04 07:27