Как работать с confirm в react?
Итого (из комментариев) у топик-стартера настроен eslint и + ошибка в коде.
Решение:
1) использовать window.confirm вместо confirm
2) передавать index (сейчас он у вас undefined)
взгляните сюда fiddle.вроде бы все нормально работаетdeleteItem(event) {
    const conf = confirm(`Are you sure?`);
    let number = parseFloat(event.target.parentNode.getAttribute("data-key"));
    let newTodos = this.state.todos;
    if (conf) {
      newTodos = newTodos.splice(newTodos.indexOf(number), 1);
      this.setState({ todos: newTodos });
    } else {
      alert(`ok we won't delete it `);
    }
  }
а почему бы не падать index прямо из .map().было бы намного правильнее чем искать в атрибутах
React не рекомендуем вам хранить данные в DOM атрибутов. Даже если у вас есть, атрибуты данных, вероятно, являются более оптимальным подходом, но в большинстве случаев данные должны храниться в состояние компонента реагировать или внешние хранилища.