react-native-navigation-register-screens
Version:
Easier way to register RNN components.
74 lines (55 loc) • 1.49 kB
Markdown
# react-native-navigation-register-screens
Easier way to register RNN components.
# Example
## Function Component
```tsx
import {
ScreenFC,
} from 'react-native-navigation-register-screens';
type MyFunctionComponentProps = {
hello: string,
};
const MyFunctionComponent: ScreenFC<MyFunctionComponentProps> = ({
hello,
componentId,
}) {
console.log(componentId);
return (
<View>
<Text>{hello}</Text>
</View>
);
};
MyFunctionComponent.screenName = 'MyApp.Screens.MyFunctionComponent';
MyFunctionComponent.options = props => {
console.log(props);
return {
topBar: {
title: {
text: 'Pushed screen title',
},
},
};
};
```
# Registering Screens
```ts
import {registerScreens} from 'react-native-navigation-register-screens';
registerScreens([MyFunctionComponent, MyClassComponent, MyPureComponent]);
```
# With providers
If your using `react-redux`'s `Provider` or other similar libraries, you can provide a third parameter as the callback function.
```tsx
import {Provider} from 'react-redux';
import store from '../store';
registerScreens(
[MyFunctionComponent, MyClassComponent, MyPureComponent],
(Component) => (props) => (
<Provider store={store}>
<Component {...props} />
</Provider>
),
);
```
# License
`react-native-navigation-register-screens` is MIT licensed, as found in the [LICENSE](https://github.com/karlmarxlopez/react-native-navigation-register-screens/blob/master/LICENSE) file.