нужно, чтобы функция обрабатывала передаваемый аргумент, внутри then обрабатывается, но похоже , что переменная х возвращает прежде, чем ему присвоена новое значение
если он пишет onClick={onClickDeleteHero(el.id)} - то он передает результат выполнения функции onClickDeleteHero, я вот о чем ... а нам ведь такого не надо)
если он пишет onClick={onClickDeleteHero(el.id)} - то он передает результат выполнения функции onClickDeleteHero, я вот о чем ... а нам ведь такого не надо)