Spacing
View
with specified margins to unify spacing across the app. Thanks to that your app will look more consistent.
Most props take the Spacing
type as a value. Default is none
which means the margin is set to 0
.
type Spacing = 'none' | 'small' | 'medium' | 'large'
You can use the Spacing
component to wrap other components or as a divider.
<Spacing vertical='small'>
<Button onPress={navigateToResetPassword}>Remind password</Button>
<Button onPress={navigateToCreateAccount}>Sign Up</Button>
</Spacing>
<Button onPress={handleOpenPress}>Open</Button>
<Spacing mTop='medium' />
<Button onPress={handleSkipPress}>Skip</Button>
Changing margin value
Predefined margin values are set by the getMargin
function inside the component file. When you want to change what small
, medium
and large
means in your app simply change values returned by the switch statement.
Props
We cannot use prop names like top
, left
and marginTop
, marginLeft
etc. as it shadows Layout Props from React Native and causes crashes. See more on Layout Props docs
mBottom
Set style margin-bottom
value.
<Spacing mBottom='small'>
mLeft
Set style margin-left
value.
<Spacing mLeft='small'>
mRight
Set style margin-right
value.
<Spacing mRight='small'>
mTop
Set style margin-top
value.
<Spacing mTop='small'>
horizontal
Set style margin-left
and margin-right
value.
<Spacing horizontal='small'>
vertical
Set style margin-top
and margin-bottom
value.
<Spacing vertical='small'>
width
Set style width
value. Defaults to auto
.
Unfortunately, we have to use string
and add the px
suffix as styled-components
requires it.
<Spacing width='20px'>