Как получить значение в инпута по клику кнопки?
Тут два пути:
1. Использовать контролируемый input
2. Использовать ref
Контролируемый input
описываете state компонента, в нем поле, пусть будет myValue: '' (пустая строка):state = {
  myValue: '',
}
далее назначаете onChange у инпута в котором этот стейт меняете. Не забывайте в value инпута положить значение из стейта:handleChange = (e) => {
  this.setState({ myValue: e.currentTarget.value })
}

<input onChange={this.handleChange} value={this.state.myValue}/>
Итого, в this.state.myValue у вас всегда будет актуальное значение инпута.