gpt4 book ai didi

javascript - react native : How to reference current route in Navigator's navigationBar={}?

转载 作者:可可西里 更新时间:2023-11-01 17:14:18 26 4
gpt4 key购买 nike

根据当前路线,我尝试更改如下样式,但出现错误:“路线未定义”。我怎样才能引用当前路线:导航栏中的 route.name={}?

<Navigator
configureScene={...}
initialRoute={...}
renderScene={...}
navigationBar={<Navigator.NavigationBar style={route.name == 'Home' ? styles.homeNavBar : styles.normalNavBar} .../>}
/>

更新

这是我当前在 index.ios.js 中的设置:

class practice extends Component {
constructor(){
super()
}

renderScene(route, navigator){
return (
<route.component navigator={navigator} {...route.passProps}/>
)
}

configureScene(route, routeStack) {...}

render() {
return (
<Navigator
configureScene={this.configureScene}
initialRoute={{name: 'Login', component: Login}}
renderScene={(route, navigator) => this.renderScene(route, navigator)}
style={styles.container}
navigationBar={
<Navigator.NavigationBar
style={route.name == 'Home' ? styles.homeNavBar : styles.normalNavBar} //This is what I am trying to achieve
routeMapper={NavigationBarRouteMapper}
/>
}
/>
);
}
}

更新

class practice_style extends Component{

renderScene(route, navigator){
this._navigator = navigator

return (
<route.component navigator={navigator} {...route.passProps}/>
)
}

configureScene(route, routeStack) {...}

getNav = () => {
return this._navigator
}

render() {
const routes = this.navigator.getCurrentRoutes();
route = routes[routes.length-1];

return (
<Navigator
configureScene={this.configureScene}
initialRoute={{name: 'Home', component: Home}}
renderScene={(route, navigator) => this.renderScene(route, navigator)}
style={styles.container}
navigationBar={
<Navigator.NavigationBar
style={route.name == 'Home' ? styles.homeNavBar : styles.normalNavBar}
routeMapper={NavigationBarRouteMapper}
/>
}
/>
)
}
}

最佳答案

它是一个数组,把最后一个出栈就行了。

var currentRoute = navigator.getCurrentRoutes().pop();

Navigator.getCurrentRoutes克隆 routes 数组,这样你就不能通过pop'ing something out it 来销毁它。

关于javascript - react native : How to reference current route in Navigator's navigationBar={}?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38556563/

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