我试图根据用户类型以不同的方式显示导航标题。用户必须先登录,然后才能成功登录,我将用户类型设置为AsyncStorage
,并在重定向到主屏幕时使用它来区分用户。
主屏幕
static navigationOptions = ({ navigation }) => {
AsyncStorage.getItem('user_type').then((user_type) => {
if(user_type){
if(user_type == 1){
navigation.setParams({ header_title: 'Request Listing' })
} else {
navigation.setParams({ header_title: 'Home' })
}
} else {
navigation.setParams({ header_title: 'Home' })
}
})
const { params } = navigation.state;
return {
header: (<AppNavHeader navigation={navigation} title={ params ? params.header_title : null } />)
}
};
请参考上面的代码,如果我执行console.log('params')
,则可以在其中看到header_title
的值。但是似乎无法在title={ params ? params.header_title : null }
行的标题中显示该值。