В канале Максима Соснова увидел ссылку на статью — размышления одного из разработчиков из инфраструктурной команды DigitalOcean о принципах и подходах, применяемых при разработке ui-кита. И в ней автор тоже пинает spread-оператор за неявность. А именно, JSX-конструкцию {…props}



Отказ от использования в JSX spread для внешних данных спасает от появления странных багов.



Т.е. я избегают использования любых spread-операторов при обработке внешних данных. Да, я не хочу иметь возможность прокидывать вслепую пропсы из одного компонента в другой (если быть честным, мне кажется что это отличное общее правило при работе с пропсами)

1. Может быть непонятно, откуда неожиданно прилетело значение конкретного атрибута (пропа). И поиск тут не поможет.

2. Это позволяет переслать неожиданные атрибуты и TypeScript тут ничего не поймает



Рекомендация — делать деструктуризацию и честно пересылать атрибуты, выкидывая заодно мусор.



Примеры в статье, ищите по фразе «Avoiding JSX spread»