Может я что то могу не так понять, но в чем проблема получить этот сложный объект с сервера со всеми полями, и его же(модифицированный) отправлять на сервер, к примеру:
const {data} = this.props
data.phones.value[position] = newValue
this.props.onSubmit(data)
т.е. получаем данные с сервера
модифицируем
и отправляем каким то методом обратно, но уже новые