react-native-portalize
react-native-portalize copied to clipboard
The simplest way to render anything on top of the rest.
Portalize
The simplest way to render anything on top of the rest.
This component is extracted from react-native-paper
and has been simplified for the purpose of react-native-modalize
.
Installation
yarn add react-native-portalize
Usage
import React from 'react';
import { View, Text } from 'react-native';
import { Host, Portal } from 'react-native-portalize';
export const MyApp = () => (
<Host>
<View>
<Text>Some copy here and there...</Text>
<Portal>
<Text>A portal on top of the rest</Text>
</Portal>
</View>
</Host>
);
Example with react-native-modalize
and react-navigation
import React from 'react';
import { View, TouchableOpacity, Text } from 'react-native';
import { NavigationContainer } from '@react-navigation/native';
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
import { Modalize } from 'react-native-modalize';
import { Host, Portal } from 'react-native-portalize';
const Tab = createBottomTabNavigator();
const ExamplesScreen = () => {
const modalRef = useRef<Modalize>(null);
const onOpen = () => {
modalRef.current?.open();
};
return (
<>
<TouchableOpacity onPress={onOpen}>
<Text>Open the modal</Text>
</TouchableOpacity>
<Portal>
<Modalize ref={modalRef}>...your content</Modalize>
</Portal>
</>
);
};
const SettingsScreen = () => (
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<Text>Settings screen</Text>
</View>
);
export const App = () => (
<NavigationContainer>
<Host>
<Tab.Navigator>
<Tab.Screen name="Examples" component={ExamplesScreen} />
<Tab.Screen name="Settings" component={SettingsScreen} />
</Tab.Navigator>
</Host>
</NavigationContainer>
);
Props
Host
-
children
A React node that will be most likely wrapping your whole app.
Type | Required |
---|---|
node | Yes |
-
style
Optional props to define the style of the Host component.
Type | Required |
---|---|
style | No |
Portal
-
children
The React node you want to display on top of the rest.
Type | Required |
---|---|
node | Yes |