В итоге получилось решить проблему с помощью getDerivedStateFromProps
Сравниваю стейт с пришедшими пропсами и обновляю стейт. Затем данные стейта уже передаю как пропсы детям
static getDerivedStateFromProps(nextProps, prevState) {
if (prevState.projects !== nextProps.projects) {
}
return {
projects: nextProps.projects,
};
}
Если вы знаете другое элегантное решение, напиши пожалуйста комментарий.
P.S. 10 минут спустя я нашла глупую ошибку в коде, так что друзья, всё как и положено хорошо работает без того, что я написала выше.
Просто асинхронный запрос в componentDidMount() и все пропсы автоматически обновляются.
Такие простые вещи должны работать без всяких изощрений.
Так что будьте внимательны, а не как я:)