У меня есть следующий компонент заголовка:
class HeaderNav extends Component {
render() {
return (
<Header style={styles.header}>
<Left>
<Button
transparent
onPress={() => this.props.navigation.openDrawer() }>
<Icon name="bars" size={25} color="#D35920" />
</Button>
</Left>
<Body>
// body content
</Body>
<Right style={styles.headerRight}>
<Button onPress={() => this.props.doSomething}>
<Title>{this.props.rightTitle!= null ? this.props.rightTitle}</Title>
</Button>
</Right>
</Header>
)
}
}
И я хотел бы отобразить содержимое в правом компоненте на основе каждого экрана, указав заголовок в конструкторе следующим образом:
constructor(props) {
super(props);
this.state = {
rightTitle: 'Title'
}
this.doSomething= this.doSomething.bind(this);
}
doSomething= () => {
// logic goes here
}
И затем рендеринг компонента:
render(){
return(){
<HeaderNav />
}
}