Если submit находится в этом же компоненте - просто забираем значения из state.
Если в другом (на уровень выше, получается, или на несколько), то значит вам нужно из компонента, при изменении вызывать callback функцию (которая будет передана в качестве props), внутри которой будет вызываться изменение уже родительского стейта и тогда на submit вы запросто сможете забирать уже готовый state
Пример кода:
Component A
state = {
  fromSuperComponent: '123',
}
callMeHandle = (e) => {
  this.setState({
    fromSuperComponent: e.currentTarget.value,
  })
}
render() {
  return (
    <form>
      <input type='text' value='test'/>
      <SuperComponent callMeWhenDataChanged={this.callMeHandle} value={this.state.fromSuperComponent} />
    </form>
  )
}
SuperComponent
render() {
  <input type='text' value={this.props.value} onChange={this.props.callMeWhenDataChanged} />
}