I created a demo where textfield value can be get by button click. Component will render everytime when setState calls. Hope it can help you!
                        
                        
                        
                        <!-- begin snippet: js hide: false console: true babel: true -->
                        
                        
                        
                        <!-- language: lang-js -->
                        
                        
                        
                            class App extends React.Component{
                        
                              state ={ inputValue:"" };
                        
                              
                        
                              render(){
                        
                                return(
                        
                                  <div>
                        
                                    <input type="text" value={this.state.inputValue} onChange={this.handleChange} />
                        
                                    <button onClick={this.handleSubmit}>Submit</button>
                        
                                  </div>
                        
                                );
                        
                              }
                        
                              
                        
                              handleChange=(e)=>{
                        
                               this.setState({ inputValue: e.target.value });
                        
                              }
                        
                              
                        
                              handleSubmit=()=>{
                        
                                console.log("inputValue::", this.state.inputValue);
                        
                              }
                        
                            }
                        
                        
                        
                            ReactDOM.render(<App/>, document.getElementById("root"));
                        
                        
                        
                        <!-- language: lang-html -->
                        
                        
                        
                            <script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
                        
                            <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
                        
                            <div id="root"></div>
                        
                        
                        
                        <!-- end snippet -->
                        
                        
                        
                        
                        
                
             
            
                
                    
                        Error is calling `handleCommentAdded` on `onChange`<br/>
                        
                        set state in `handleButton`
                        
                        
                        
                        
                        
                        <!-- begin snippet: js hide: false console: true babel: true -->
                        
                        
                        
                        <!-- language: lang-js -->
                        
                        
                        
                            class WriteComments extends React.Component {
                        
                              constructor(props) {
                        
                                super(props);
                        
                                this.state = {
                        
                                  commentAdded: ""
                        
                                };
                        
                                this.inputRef = React.createRef();
                        
                                this.handleButton = this.handleButton.bind(this);
                        
                              }
                        
                        
                        
                              handleButton() {
                        
                                this.setState({ commentAdded: this.inputRef.current.value });
                        
                              }
                        
                        
                        
                              render() {
                        
                                return (
                        
                                  <div>
                        
                                    <input type="text" ref={this.inputRef} />
                        
                        
                        
                                    <div className="button">
                        
                                      {this.state.commentAdded !== "" ? (
                        
                                        <div>{this.state.commentAdded}</div>
                        
                                      ) : (
                        
                                        <button type="button" onClick={e => this.handleButton(e)}>
                        
                                          Write
                        
                                        </button>
                        
                                      )}
                        
                                    </div>
                        
                                  </div>
                        
                                );
                        
                              }
                        
                            }
                        
                        
                        
                        
                        
                        
                        
                            ReactDOM.render(<WriteComments />, document.getElementById('root'));
                        
                        
                        
                        <!-- language: lang-html -->
                        
                        
                        
                            <script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
                        
                            <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
                        
                            <div id='root' />
                        
                        
                        
                        <!-- end snippet -->