在android模拟器上运行,给出TypeError:Undefined不是对象(评估'thia.state.number.replace')请帮助我。 我创建了两个屏幕,一个是登录,另一个是otp,我在两个屏幕中使用常见的“customNumber”组件。 我使用reactnative-navigation进行屏幕导航(默认屏幕是登录)。 在登录屏幕中,customNumber工作正常但不在otp屏幕中。
render(){ return (<View> <UserNumber type={'otp'} minlen={4} style={styles.UserNumber}></UserNumber></View>)}
export default class UserNumber extends React.Component {
constructor(props) {
super(props);
this.state = { number: '' };
this.deleteNumber = this.deleteNumber.bind(this);
this.addNumber = this.addNumber.bind(this);
this.saveNumber = this.saveNumber.bind(this);
this.clearNumber = this.clearNumber.bind(this);
this.otpMasking = this.otpMasking.bind(this);
this.contactMasking = this.contactMasking.bind(this);
}
addNumber(num){
if(this.state.number.replace(/[^A-Z0-9]+/ig, "").length <
this.props.minlen){
if(this.props.type == 'contact'){
this.contactMasking(num);
}else if(this.props.type == 'otp'){
this.otpMasking(num);
}
}
}