native-ly/native-layout-stack

Repository files navigation

NPM versionNPM downloadsNPM licenserun in expo snackCodecovTravis

SwiftUI like layout management for React Native

This library recreates SwiftUI components in React Native:

Stack

Spacer

First, install the library in your project by npm:

$ npm install native-layout-stack

Or Yarn:

$ yarn add native-layout-stack

• Connect library with project using ES6 import:

import { LayoutProvider, Stack, Spacer } from 'native-layout-stack'
nametypedescription
paddingSpace or [Space] or [Space, Space] or [Space, Space, Space] or [Space, Space, Space, Space]Outer space
spacesSpaceSpace between children
omitNullbooleanSkip elements that are null or React.Fragment
arrayDivisionboolean
debugbooleanAdd random color to spaces

Stack extends ViewProps and implements all LayoutProvider props without debug

Component uses ViewProps

nametype
Spacenumber or string
import React from 'react'
import { View } from 'react-native'
import { LayoutProvider, Stack, Spacer } from 'native-layout-stack'

const MyComponent = () => {
  return (
    <Stack padding={[20, 10]} spaces={20}>
      <View />
      <View />
      <View />
    </Stack>
  )
}

const App = () => {
  return (
    <LayoutProvider spaces={10} padding={20}>
      <MyComponent />
    </LayoutProvider>
  )
}

export default App

This project is licensed under the MIT License © 2020-present Jakub Biesiada