可以传什么道具Navigator.push

What props can be passed to Navigator.push

我已经搜索了大约一个小时,关于这个问题有 0 个结果。我只是在寻找调用 navigator.push 时可以使用的道具列表,特别是我如何在调用中使用 sceneConfig 道具,但整个列表真的很有帮助。当然,一如既往,Facebook 的文档只是半生不熟,而且相当模糊。

我将什么传递给 navigator.push?我需要可以传递给函数的对象的所有键和值。

调用 Navigator.push 时,您可以提供一个参数,该参数是一个具有任意数量的键和值的对象。导航器实际上并没有将其中的值用于任何事情,它只是传递给您的回调,renderSceneconfigureScene.

道具 renderScene 获取您调用 push 的对象,允许您检查其内容和 return 您想要呈现的视图。

道具 configureScene 获取您调用 push 的对象,以及堆栈上的其他路由(initialRoute 道具,以及您之前调用的任何其他对象 push 有并且没有弹出)。在这里,您可以 return 来自 Navigator.SceneConfigs 的东西来描述路线应该如何动画化

您是要将属性传递给下一个场景还是要在场景之间设置不同的过渡?

如果是前者,您只需将一个对象传递给 navigator.push,您就可以访问 navigator.state.routeStack 中的值,这将为您提供所有当前路线、名称和任何其他属性的数组你传入了推送对象。

如果你想在场景之间设置不同的过渡,那么我认为你必须去你正在使用的任何地方,在 configureScene={route, routeStack) => } 你应该能够提供选项,比如(route.name === 'Welcome') { return Navigator.SceneConfigs.FloatFromRight}

不确定这是否正是您要找的!

这样你就可以通过

this.props.navigator.push({
    title: "NextPage",
    component: NextPage,
    passProps: {username: this.state.username, password: this.state.password},
});

在 NextPage 中,您可以使用这个

constructor(props) {
    super(props);
    this.state = {
        username: this.props.username,
        password: this.props.password
    };
}