Reactopia
BrowseDiscoverSVG toolsAIChangelogAboutContact
BrowseDiscoverSVG toolsAI
Created by

Yash Mahajan


Reactopia

Open React tooling: components, SVG animation, and a growing directory. Built by Yash Mahajan.

Product

  • Components
  • Discover
  • SVG tools
  • AI direction

Legal

  • Privacy Policy
  • Terms of Use
  • Cookie Policy
  • License
  • Credits
  • Contact

Project

  • About
  • Changelog
  • GitHub
  • X

© 2026 Reactopia. All rights reserved.

PrivacyTermsCookies

Getting Started

IntroductionContributing

Components

SeparatorUiButtonBadgeStackUiInputIn devUiSelectIn devUiTextareaIn dev

Hooks

useDebounceuseLocalStorageuseMediaQueryuseMounted

Utilities

cngroupBysleep
Components
Stack

Stack

Vertical flex layout helper with gap for React Native.

BetacomponentReact NativeUpdated 2026-10-07MIT LicenseSource on GitHubReport Issue
Dependencies:npm install react react-native
BadgeuseDebounce

Introduction

Vertical layout helper for React Native: column flex with configurable gap and alignment. Complements the Separator component for list-style UIs.

Platform: React Native. Dependencies: react, react-native.

Component

On older React Native versions without gap in flexbox, replace gap with margin on children or use Separator between items.

Example

Footer

For horizontal rows, mirror the same pattern with flexDirection: "row" (a Row helper).

<Stack gap={12}>
<Title />
<Subtitle />
<Actions />
</Stack>
import React from "react";
import { View, type ViewProps, type ViewStyle } from "react-native";
export type StackProps = ViewProps & {
gap?: number;
align?: ViewStyle["alignItems"];
justify?: ViewStyle["justifyContent"];
};
export function Stack({
gap = 8,
align = "stretch",
justify = "flex-start",
style,
children,
...rest
}: StackProps) {
return (
<View
style={[{ flexDirection: "column", alignItems: align, justifyContent: justify, gap }, style]}
{...rest}
>
{children}
</View>
);
}
tsx