Reusable pieces from Lomray's React Native apps: navigation handlers, hooks, stores, UI components and service integrations. Use a specific helper when its dependencies match your app. This is not a drop-in cross-platform utility bundle: many modules require native services such as Firebase, Wix navigation or authentication SDKs.
npm install @lomray/client-helpers-react-native@3.6.0Version 3.6.0 publishes individual module paths with adjacent declarations. Its manifest names index.js and index.d.ts, but neither root file is in the released tarball. Import the specific subpath; do not use a named import from the package root.
The package declares numerous peers in package.json. Installing one small helper does not make those native integrations optional in the package metadata. Check the chosen module's imports and configure its native dependencies in your app; this README does not establish compatibility across all declared peer ranges.
SwitchStore depends on MobX and starts with isVisible = false. onOpen and onClose are bound actions. No listener or native setup is involved in these two operations; install MobX in the consuming app.
import SwitchStore from '@lomray/client-helpers-react-native/stores/switch-store';
const dialog = new SwitchStore();
dialog.onOpen();
console.assert(dialog.isVisible === true);
dialog.onClose();
console.assert(dialog.isVisible === false);These extensionless subpaths are intended for React Native's bundler. The package contains ES module syntax without a package-level type: module; direct execution in Node is not the supported path demonstrated here.
import React from 'react';
import { Text } from 'react-native';
import useKeyboardHeight from '@lomray/client-helpers-react-native/hooks/use-keyboard-height';
export default function KeyboardStatus() {
const height = useKeyboardHeight();
return <Text>Keyboard height: {height}</Text>;
}The hook starts at zero, handles keyboardDidShow/keyboardDidHide, and removes both listeners on unmount. It reports keyboard event height, not a full keyboard-avoiding layout. Native keyboard delivery and layout behavior need testing on each supported platform.
For larger integrations, start with the relevant source: navigation handlers, authentication helpers, services, and components. They have different setup requirements; there is no universal initialization call for the whole package.