Вам не нужно напрямую работать с DOM'ом как это часто было в jquery коде.
Подумайте следующим образом: у вас есть изменяемое состояние (разное колиество "тудушек" для списка дел) - его можно (а в вашей задаче, думаю и нужно) хранить в state компонента (например в this.state.todos = [ todo1, todo2, todo3 ...]
)
В render функции вам нужно пробегаться по this.state.todos и генерировать разметку...
По кнопке на добавление, вам нужно устанавливать в this.state.todos новый массив, в котором будет на один элемент больше. При этом, так как state изменится, у вас вызовется функция render, а так как в ней идет генерация разметки в зависимости от того, что лежит в this.state.todos - то вы получите на 1 элемент больше. И так по кругу.
Аналогично реализуется и удаление и редактирование. Вы всегда изменяете что-то в state, реакт перерисовывает для вас компонент и его потомков - вы получаете актуальное состояние.