Почему нельзя вынести их в отдельный компонент ? Или данный вопрос снова намекает на то, что так писать не надо и лучше посмотреть примеры на GitHub?
1. Таски должны храниться в родительском компоненте.
А можете пожалуйста кратко пояснить насчет прямых обращений к DOM. Скорее всего я неправильно понял, но вы подразумеваете возможность получения значения DOM-элемента также с помощью состояний ?
3. Никаких прямых обращений к DOM. Для решения вашей задачи даже без ref можно обойтись. Оперируйте состоянием.