React native 如何使用屏幕道具导出stacknavigator?

React native 如何使用屏幕道具导出stacknavigator?,react-native,React Native,我正在尝试导出stacknavigator,以便子屏幕可以具有一些屏幕属性。我试过这样的方法: //Router.js import React, { Component } from 'react'; import {StackNavigator} from 'react-navigation'; import { AppRegistry } from 'react-native'; import Home from './Home'; let Router = { Home: {sc

我正在尝试导出stacknavigator,以便子屏幕可以具有一些屏幕属性。我试过这样的方法:

//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;
那我有

//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);
}
}
但是
this.props.screenProps
是空的

然后我试着这样做

//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;
//Router.js
从“React”导入React,{Component};
从“react navigation”导入{StackNavigator};
从“react native”导入{AppRegistry};
从“./主页”导入主页;
让路由器=
{
主页:{屏幕:主页,屏幕道具:“你好”},
}
const Navigator=StackNavigator(路由器);
常数导航=
导出默认导航;
但这导致了这个错误

元素类型无效:应为字符串(对于内置组件) 或者一个类/函数(用于复合组件),但得到:object


那么,如何将自定义屏幕属性从路由器文件传递到主屏幕?

错误表示screenProps需要的是对象,而不是字符串。 所以电影道具应该是这样的

let Router = 
{
    Home: {screen: Home, screenProps: {name: "hello"}}
}
如果“name”是您要将“hello”指定给的属性,则。 这至少是您使用TabNavigator的方式

在StackNavigator中,您不会通过屏幕道具,但根据这一点,您的路由器应该是这样的

let Router = 
{
    Home: {screen: Home, {name: "hello"}}
}
您可以使用
this.props.navigation.state.params.name在另一端访问它