gpt4 book ai didi

javascript - 使用 Navigator 推送新路线时出现问题

转载 作者:行者123 更新时间:2023-11-29 11:49:35 25 4
gpt4 key购买 nike

我在使用 Navigator 时出现奇怪的行为。我第一次调用 navigator.push(...) 时,它有时会打印以下警告:

Warning: flattenChildren(...): two children with the same key, 'scene_1'. Child keys must be unique; when two children share a key, only the first child will be used.
in RTCView (created by View)
in View (created by Navigator)

或者,它会显示一个空白页。

但是,如果我再次弹出并按下,它将起作用...发生了什么?


编辑:

代码如下:

import Page1 from '../page/Page1';
import Page2 from '../page/Page2';
import Page3 from '../page/Page3';

const routes = [
{ index: 0, title: 'Page 1' , component: Page1 },
{ index: 1, title: 'Page 2', component: Page2 },
{ index: 2, title: 'Page 3', component: Page3 },
];

class MyApp extends Component {

renderScene(route, navigator) {

let Component = route.component ;

if (route.component) {
return (
<Component navigator={ navigator } />
);
}
return null;
}

render() {

return (
<Navigator
initialRoute={ routes[0] }
initialRouteStack={ routes }
renderScene={ this.renderScene }
/>
);
}
}

=> 我刚刚尝试从 Navigator 中删除 initialRouteStack Prop ,它似乎已经解决了我的问题。但是我不明白这个 Prop 是用来做什么的......

最佳答案

initialRouteStack 是您为导航器提供的堆栈。通常你只是传递一个 initialRoute,所以你的堆栈将从那条路线开始。

但是您将所有路由传递到 initialRouteStack 中,因此当您导航到另一个场景时,您基本上是将组件推到已经包含该组件的堆栈的末尾。希望这是有道理的并澄清事情。

关于javascript - 使用 Navigator 推送新路线时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41730072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com