render(){
return(
//这里调用.length是成功执行的
<TouchableOpacity onPress={()=>{alert(this.props.rightTitle.length)}}>
<View style={styles.container}>
<Text style={{marginLeft:8}}>{this.props.title}</Text>
{this.renderRightView()}
</View>
</TouchableOpacity>
)
}
renderRightView=()=>{
if(this.props.isSwitch){
return (
<Switch value={this.state.isOn == true} onValueChange={()=>{this.setState({isOn:!this.state.isOn})}} style={{marginRight:8}}/>
)
}
else{
return(
<View style={{flexDirection:'row',alignItems:'center'}}>
{this.rightTitleView()}
<Image source={{uri:'icon_cell_rightArrow'}} style={{width:8,height:13,marginRight:8}}/>
</View>
)
}
}
rightTitleView(){
//这里调用.length是会报错的
if(this.props.rightTitle.length)
{
return(
<Text style={{color:'gray',marginRight:3}}>{this.props.rightTitle}</Text>
)
}
}
具体错误是:undefined is not an object (evaluating this.props.rightTitle.length)