2016-05-18 88 views
0

我找不到任何有關如何使用<Navigator/>組件完成的文檔......基本上,當我的一個場景加載時,我希望能夠通過route.navBarColor我的導航器將自動更改欄的背景顏色。修改導航欄的路線變化

我曾試圖推動與{navBarColor: 'red'}路線,等等...到renderScene(),但這並不工作,因爲renderScene()似乎並不具有this參考,當我bind(this)它,整個場景不會呈現並引發堆棧溢出錯誤。

基本上,我想要做這樣的事情:

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

然後去

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

this.state.navBarColor用於設置backgroundColor道具的navigationBar的。

這是可能與Navigator組件?我看到它似乎與NavigatorIOS,所以我不明白爲什麼它不會在這裏。

謝謝!

回答

1

Navigator組件沒有它自己的顯示,它只管理場景轉換和路由,所以詢問如何做到這一點「與導航」是不正確的。這與指示顯示器的NavigatorIOS形成對比。

你的問題提到「NavigationBar」,那是React Native Navbar

如果是,在renderScene()函數中的某處會有對組件的引用,您只需將它傳遞給相應的navBarColor prop即可。

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

嗨,謝謝你的回答!我使用內置於React Native中的組件(帶有路由映射器)。就你所知,那麼,沒有辦法改變這種顏色?謝謝。 –