gpt4 book ai didi

javascript - 在路线更改时修改 NavigationBar

转载 作者:行者123 更新时间:2023-11-29 00:58:47 28 4
gpt4 key购买 nike

我找不到关于如何使用 <Navigator/> 完成此操作的任何文档组件...基本上,当我的一个场景加载时,我希望能够传递一个 route.navBarColor到我的导航器,它将自动更改栏的背景颜色。

我尝试使用 {navBarColor: 'red'} 推送一条路线等...到renderScene() , 但这不起作用,因为 renderScene()似乎没有对 this 的引用,当我 bind(this)它,整个场景不会渲染,并抛出 Stack Overflow 错误。

基本上,我想做这样的事情:

navigator.push({name: 'TestScene', navBarColor: 'transparent'})

然后去

renderScene(route, navigator) {
if(route.navBarColor) {
this.setState({navBarColor: navBarColor});
} ... etc.
}

在哪里this.state.navBarColor用于设置 backgroundColor navigationBar 的 Prop .

Navigator 这可能吗?成分?我看到它似乎与 NavigatorIOS 一起使用, 所以我不明白为什么它不会在这里。

谢谢!

最佳答案

Navigator 组件没有自己的显示,它只管理场景转换和路由,所以问“with Navigator”如何做到这一点是不对的。这与同样指示显示的 NavigatorIOS 形成对比。

你的问题提到“NavigationBar”,是React Native Navbar

如果是,在 renderScene() 函数中的某处将有对该组件的引用,您只需将适当的 navBarColor 属性传递给它即可。

<NavigationBar statusBar={{ tintColor: route.navBarColor }} /> 

关于javascript - 在路线更改时修改 NavigationBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37291046/

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