什么道具可以传递给Navigator.push

时间:2016-11-22 22:07:21

标签: ios reactjs navigation react-native navigator

我现在已经搜索了大约一个小时,结果为0。我只是在寻找可以在调用navigator.push时使用的道具列表,特别是如何在调用中使用sceneConfig道具,但整个列表会非常有用。当然,像Facebook一样,文档只有一半是非常模糊的。

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

3 个答案:

答案 0 :(得分:3)

像这样你可以通过

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
    };
}

答案 1 :(得分:1)

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

道具renderScene获取您调用的对象push,允许您检查其内容并返回您想要渲染的视图。

prop configureScene获取您调用的对象push,以及堆栈中的其他路径(initialRoute道具)以及之前调用的任何其他对象{{1}与...并且没有弹出)。在这里,您可以从push返回一些内容来描述路线应如何制作动画

答案 2 :(得分:0)

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

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

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

不确定这是否正是您所寻找的!