Если приложение переписывается на react, то одновременно держать react-native + react базу поможет
react-native-web пакет, но там нет
FlatList
до сих пор, ждут давно.
Для одинаковых компонентов - все просто, один файл. Если же для какого-то компонента требуется различный код, можно делать два файла
xxx.web.js и
xxx.ios.js (например), и на стадии сборки в сборку включать только те, что подходят под проверку (для веб собираете или для mobile).
Общие компоненты (uikit - кнопки, надписи, стили и тд) - все можно вынести в отдельный пакет / отдельную директорию. Вы пишите, что у вас уже есть - ок, используйте, если они готовы для этого (но я думаю вряд ли, надо как минимум адаптировать/переписать будет)