Недостатком такого метода является то, что необходимо знать размер элемента, что проблематично с динамическими элементами такими как аккордеон. Графический элемент аккордеон представляет собой вертикально сложенный список элементов, таких как текстовые метки или эскизы. Каждый элемент может быть «развёрнут» или «раскрыт», чтобы показать содержание, связанное с этим элементом. Для этого приходилось при монтировании компонента получать его размер, и в соответствии с этим отдавать значения компоненту тени, при открытии/закрытии аккордеона расчёт приходилось проводить повторно. Минусом такого подхода является то, что в момент вычислений происходили небольшие прыжки компонентов.
Комментарий недоступен
Я цветные кастомные тени вообще делал как png полупрозрачный, именно из-за тормозов SVG. Вспомнил времена верстки под IE6 )
И конечно думал про Flutter, где вообще этой проблемы нет.
В чем была проблема сделать тени и анимацию на CSS?
Это React Native, поэтому он дает доступ только к тому, что есть на платформе. И если на iOS есть полный контроль над тенью, подобный тому что есть в CSS, на Android только есть "elevation" - как бы высота поверхности, и тень от этой "высоты" по разному рендерится в разных местах экрана. Поэтому нейроморфизм без геммороя на нативном Android не сделать.
Flutter лишен этих недостатков потому что все контролы рисует сам и ему пофиг на ограничения платформы.
Я думаю тут главный вопрос - зачем это надо. Какой-то мясистый стиль, перетягивает внимание с контента на контролы, сразу задает кучу рамок что с ним сочетается что нет, и еще и явно устарелым будет выглядеть через несколько лет