Ваш родительский компонент имеет только один флаг для хранения showPopup
.Это означает, что когда вы нажимаете одну из ваших кнопок, вы устанавливаете этот флаг для всего родительского компонента, а это означает, что весь список ваших дочерних компонентов оценивается, и this.state.showPopup
будет истинным.
Вам необходимонайти способ ограничить эффект нажатия кнопки элементом, на котором была нажата кнопка.
Можно, например, установить флаг showPopup
не на родительском компоненте, а на item
.
Это может сработать, но вам придется пересмотреть способ включения ModalPopUpItem
.
private showModalEvent = (item): void => {
item.showPopup = !item.showPopup;
}
.