我有以下输入字段,我需要获取输入的输入并将其传递给下面显示的按钮的onClick事件。
<input type="text" style={textFieldStyle} name="topicBox" placeholder="Enter topic here..."/> <input type="text" style = {textFieldStyle} name="payloadBox" placeholder="Enter payload here..."/> <button value="Send" style={ buttonStyle } onClick={this.publish.bind(this,<value of input field 1>,<value of input field2>)}>Publish</button><span/>
我有一个名为publish的方法,该方法需要两个字符串参数。代替这些字符串,我需要传递在输入字段中输入的值。如何在不将值存储在状态中的情况下实现此目标?我不想将输入字段值存储在状态变量中。任何帮助将非常感激。
如何在不将值存储在状态中的情况下实现此目标?
我认为在这种情况下更好的使用状态
class App extends React.Component { constructor() { super(); this.state = { topicBox: null, payloadBox: null }; this.publish = this.publish.bind(this); this.handleChange = this.handleChange.bind(this); } handleChange({ target }) { this.setState({ [target.name]: target.value }); } publish() { console.log( this.state.topicBox, this.state.payloadBox ); } render() { return <div> <input type="text" name="topicBox" placeholder="Enter topic here..." value={ this.state.topicBox } onChange={ this.handleChange } /> <input type="text" name="payloadBox" placeholder="Enter payload here..." value={ this.state.payloadBox } onChange={ this.handleChange } /> <button value="Send" onClick={ this.publish }>Publish</button> </div> } } ReactDOM.render(<App />, document.getElementById('container')); <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script> <div id="container"></div>