@alexzunik/rn-native-portals-reborn
v1.0.5
Published
Native side portals for React Native
Downloads
5,436
Maintainers
Readme
:fire::fire::fire:This project is reborn of the this project:fire::fire::fire:
React Native implementation of ReactDOM portals using a declarative API.
This library makes possible the teleportation of views from a place to another one.
Content
- How to use it ?
- Understanding the concept
- example (react-native-video)
Installation
$ yarn add @alexzunik/rn-native-portals-reborn
for ios
$ npx pod-install
In your code
Somewhere high in your component tree, add a PortalDestination
(a portal destination):
import { PortalDestination } from "@alexzunik/rn-native-portals-reborn";
render() {
return (
<PortalDestination name="targetOfTeleportation" />
);
}
Somewhere else in the tree, add a PortalOrigin
(a portal origin):
import { PortalOrigin } from '@alexzunik/rn-native-portals-reborn';
render() {
return (
<PortalOrigin destination={ this.state.shouldMove ? 'targetOfTeleportation' : null }>
<View>
<Text>Hello world</Text>
</View>
</PortalOrigin>
);
}
When the shouldMove
state will change to something truthy, the View
and the Text
components will be moved inside the PortalDestination
component set
previously.
If the value of the destination
prop is set to null
, the View
and Text
are restituted to their original place.