Passing "margin" as props to all components does not feel right to me -- it seems pollute the props and makes each component less specific to what it should do.
Additionally, https://notes.mxstbr.com/Do_not_allow_arbitrary_CSS_to_be_passed_into_your_components
Again, if we change the mindset to accept Space as a foundamental building block, then those empty divs are not *redundant*, but functional elements serving their purpose well.