есть ли в принципе необходимость тестирования React, если все можно протестировать "глазами"?
Есть, всё вы глазами не протестируете. У вас ещё не было случаев, когда правишь что-то в одном месте, а ошибка из-за этого появляется в другом? Вот от таких ошибок защищает unit-тестирование
какие вы библиотеки используете при тестировании?
jest + enzyme
насколько сложно писать React приложение/сайт по TDD?
Имхо, tdd плохо подходит именно для unit-тестов. Для end-to-end гораздо лучше
возможно вы знаете источники с примерами тестирования React основанных на функциональных компонентах?
Я не очень понимаю, а в чём разница? Принцип тестирования тот же, набор инструментов тот же, ...