Первое, что нужно сделать, это передать функцию в модальное окно для обновления состояния меню.
<NumericInput
onChange={value => this.setState({ [item]: value })}
/* -- snip -- *//
/>
Это обновит счетчик в состоянии меню для каждого элемента по мере изменения значения. Если вы хотите, чтобы это значение применялось только тогда, когда пользователь нажимает «ОК», тогда вам нужно будет обрабатывать состояние внутри модального окна и обновлять состояние родителя (меню) только при нажатии «ОК». Это будет выглядеть примерно так:
<NumericInput
onChange={value => this.setState({ count: value })}
/* -- snip -- *//
/>
/* -- snip -- */
<button onClick={() => this.props.setMenuItemCount(this.state.count)>
Ok
</button>
Итак, чтобы сделать это вторым способом, вам нужно создать новый компонент для модального окна, которое принимает опору: setMenuItemCount. Где setMenuItemCount
выглядит так:
setMenuItemCount={count => this.setState({ [item]: count })}
Затем вы помещаете этот новый компонент сюда:
<Modal.Body>
<YourComponent setMenuItemCount={count => this.setState({ [item]: count })}/>
</Modal.Body