Skip to content

Latest commit

 

History

History
303 lines (269 loc) · 18.3 KB

readme.md

File metadata and controls

303 lines (269 loc) · 18.3 KB

react-native-app-helpers

General tools we use to build React Native applications.

React Native

Installation

npm install --save react-native-app-helpers
import { createTextComponent } from "react-native-app-helpers";

Exports

Components

Hooks

Services

Types

Utilities

Concepts

Component factory methods

Most components here are wrapped in a factory method which is passed all information which is not expected to change at runtime. This allows for heavy caching of styles which should help improve performance (see the React Native documentation).

To use them, you would do something similar to the following:

import { createTextComponent } from "react-native-app-helpers";

const ExampleText = createTextComponent(`example`, `red`, 12, `left`, false);

const ExampleScreen = () => (
  <ExampleText>
    Hello World!  (in the "example" font, in red, at size 12, left-aligned)
  </ExampleText>
);

Line height

All components herein which render text apply a line-height of 1.4x the font size. This is done to ensure consistent rendering between iOS and Android, the latter of which defaults to having more space beneath text than above.

Spacing

No components are to include any external padding or spacing as this is quite often a contextual matter. Instead, use wrapping components (which provide internal padding/spacing).

Limited use of internal state

As few components as possible rely on any form of internal state; where possible (and practical) all state is passed in via props, and changes are suggested to the parent component through callbacks (also provided via props). This makes components far more reusable.

Laravel

Installation

composer require jameswilddev/react-native-app-helpers

Contents