Как передать функцию в родительский компонент?
Вопрос поставлен неправильно, так как вы передаете функцию в дочерний компонент, а не в родительский.
Вам по-хорошему надо использовать arrow function и таких проблем возникать не будет:this.state.title.map((item, i) => (
  <TodoList
    key={i}
    index={i}
    deleteItem={descriptionArr[i]}
    title={titleArr[i]}
    deleteItem={this.deleteItem}
  />
))
Тот способ, которым вы решили проблему в React сообществе использовать не принято.
Сама проблема в том, что контекст обычной функции(написанной через ключевое слово function) ссылается в strict режиме на undefined, в обычном на window.
Вам необходимо разобраться c основами JS  и с синтаксисом ES6. Есть для этих целей хороший ресурс learn.javascript.ru
Вашем примере видно одну семантическую ошибку, вы назвали компонент описывающий задачу TodoList, его следовало назвать TodoItem.
То, что вы раздельно храните массивы с  title и description - ужаснейшее архитектурное решение, храните задачи в виде массива объектов, описывающих сущность Todo:[
  {
    title: 'title',
    description: 'description',
  },
  {
    title: 'title',
    description: 'description',
  },
  {
    title: 'title',
    description: 'description',
  }
]
У вас скорее всего this ссылается на что-то другое в момент срабатывания события, а не на текущий компонент.