# react-native-root-siblings
**Repository Path**: mirrors_danielgindi/react-native-root-siblings
## Basic Information
- **Project Name**: react-native-root-siblings
- **Description**: A sibling elements manager.
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-08-08
- **Last Updated**: 2026-05-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## react-native-root-siblings [](http://badge.fury.io/js/react-native-root-siblings)
---
Require react-native version >= 0.47
Add sibling elements after your app root element.
The created sibling elements are above the rest of your app elements.
This can be used to create a `Modal` component or something should be over your app.
# BREAKING CHANGE
From 3.0 the default style has been removed from the element.
https://github.com/magicismight/react-native-root-siblings/commit/75b1f65502f41a5ecad0d17fd8d6ebb400365928
### Add it to your project
Run `npm install react-native-root-siblings --save`
### USAGE
This library can add element above the root app component registered by `AppRegistry.registerComponent`.
1. Create sibling element
```js
let sibling = new RootSiblings();
```
This will create a View element cover all of your app elements,
and returns a sibling instance.
You can create a sibling anywhere inside your react native code.
2. Update sibling element
```js
sibling.update();
```
This will update the sibling instance to a View with blue backgroundColor and cover the screen by `10` offset distance.
3. Destroy sibling element
```js
sibling.destroy();
```
This will remove the sibling element.
### EXAMPLE
```js
'use strict';
import React, {
AppRegistry,
View,
Component,
TouchableHighlight,
StyleSheet,
Text
} from 'react-native';
import Dimensions from 'Dimensions';
// Import library there,it will wrap everything registered by AppRegistry.registerComponent
// And add or remove other elements after the root component
import RootSiblings from 'react-native-root-siblings';
var id = 0;
var elements = [];
class SiblingsExample extends Component{
addSibling = () => {
let sibling = new RootSiblings(
I`m No.{id}
);
id++;
elements.push(sibling);
};
destroySibling = () => {
let lastSibling = elements.pop();
lastSibling && lastSibling.destroy();
};
updateSibling = () => {
let lastId = elements.length - 1;
lastId >= 0 && elements[lastId].update(
I`m No.{lastId} : {Math.random()}
);
};
render() {
return
Add element
Destroy element
Update element
;
}
}
AppRegistry.registerComponent('SiblingsExample', () => SiblingsExample);
var styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
backgroundColor: 'green',
},
button: {
borderRadius: 4,
padding: 10,
marginLeft: 10,
marginRight: 10,
backgroundColor: '#ccc',
borderColor: '#333',
borderWidth: 1,
},
buttonText: {
color: '#000'
},
sibling: {
left: 0,
height: 20,
width: Dimensions.get('window').width / 2,
backgroundColor: 'blue',
opacity: 0.5
}
});
```

### RUN EXAMPLE
1. fork this repository
2. change dictionary to `Examples`
3. run `npm i`