0
有沒有辦法在RouteMapper中獲得this.context
? 我可以撥打Playground
致電this.context.openMenu
。在RouteMapper中訪問上下文
我有以下幾點:
class App extends Component {
...
renderScene(route, navigator) {
return (
<Playground navigator={navigator} />
)
}
render() {
return (
<Navigator
ref="nav"
renderScene={this._renderScene.bind(this)} />
)
}
}
App.childContextTypes = {
openMenu: React.PropTypes.func
}
這是遊樂場:
class Playground extends Component {
...
render() {
return (
<Navigator
renderScene={this.renderScene.bind(this)}
navigator={this.props.navigator}
navigationBar={
<Navigator.NavigationBar style={Styles.navBar}
routeMapper={PlaygroundMapper} />
} />
)
}
}
Playground.contextTypes = {
openMenu: React.PropTypes.func
}
然後PlaygroundMapper:
export default {
LeftButton(route, navigator, index, navState) {
return (
<TouchableOpacity onPress={() => this.context.openMenu}>
<Text>Menu</Text>
</TouchableOpacity>
)
},
...
}