dropID в state в данном случае хранить необязательно, зачем лишний раз пересчитывать DOM. Достаточно хранить в объекте: this.dropID = p.id, т.к. его никто не изменит, за то время, пока открывается modal.
2 вариант более правильный - биндить dropID
<Button onClick = {openModal.bind(null, p.id)}>Drop</Button>
// actions/pageChoice.js
export function openModal(dropId){
return {type:'OPEN_DROP_MODAL', dropId}
}
// reducers/pageChoice.js
case 'OPEN_DROP_MODAL':
return {
...state,
dropId: action.dropId,
modalOpen:true
}
break;