I'm trying to export a stacknavigator such that child screens can have some screen properties. I tried something like this:
//Router.js
import React, { Component } from 'react';
import {StackNavigator} from 'react-navigation';
import { AppRegistry } from 'react-native';
import Home from './Home';
let Router =
{
Home: {screen: Home, screenProps:"hello"},
}
const Navigator = StackNavigator(Router);
export default Navigator;
Then I have
//Home.js
import React, { Component } from 'react';
/* define navOptions */
export default class Home extends Component {
static navigationOptions = navOptions;
componentDidMount()
{
const db = new DB(this);
db.open();
};
constructor(props)
{
super(props);
}
render ()
{
console.log(this.props);
}
}
But this.props.screenProps
is empty.
I then tried doing this
//Router.js
import React, { Component } from 'react';
import {StackNavigator} from 'react-navigation';
import { AppRegistry } from 'react-native';
import Home from './Home';
let Router =
{
Home: {screen: Home, screenProps:"hello"},
}
const Navigator = StackNavigator(Router);
const nav = <Navigator screenProps="hello" />
export default nav;
But that caused this error
Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.
So how do I pass custom screen properties over to my Home screen from the Router file?