如果收到outfitDetail
道具,我会在标题标题处渲染用户的图像和用户名。
class OutfitDetail extends Component {
static navigationOptions = ({navigation, screenProps}) => ({
...
headerTitle: (
!!screenProps.outfitDetail ? (
<View style={styles.container}>
<TouchableOpacity onPress={() => this.props.navigation.navigate('Profile', {id: userId})}>
{this._renderAvatar(screenProps.outfitDetail.user.image)}
</TouchableOpacity>
<View style={styles.content}>
<View style={styles.contentHeader}>
<RkText rkType='header5'>{screenProps.outfitDetail.user.username}</RkText>
<RkText rkType='secondary4 hintColor'>
<TimeAgo time={screenProps.outfitDetail.publish}/>
</RkText>
</View>
<RkText rkType='primary3 mediumLine'>{screenProps.outfitDetail.content}</RkText>
</View>
</View>
): (<Text>Loading</Text>)
),
...
});
因此,如果 screenProps.outfitDetail 不为空(尚未获取),它将呈现加载,否则将呈现用户的照片和用户名。
为什么我会Unexpected token, expected , error (React-navigation)
?错误发生在上面的第三行代码上。
static navigationOptions = ({navigation, screenProps}) => ({
headerTitle: (
!!screenProps.outfitDetail ? (
<View style={styles.container}>
<TouchableOpacity onPress={() => this.props.navigation.navigate('Profile', {id: userId})}>
{this._renderAvatar(screenProps.outfitDetail.user.image)}
</TouchableOpacity>
<View style={styles.content}>
<View style={styles.contentHeader}>
<RkText rkType='header5'>{screenProps.outfitDetail.user.username}</RkText>
<RkText rkType='secondary4 hintColor'>
<TimeAgo time={screenProps.outfitDetail.publish}/>
</RkText>
</View>
<RkText rkType='primary3 mediumLine'>{screenProps.outfitDetail.content}</RkText>
</View>
</View>
):(<Text>Loading</Text>)
),
... other functions ...
})