Jestjs TypeError:无法读取未定义的属性“AccountToken”
正在尝试为正在导入的select组件运行以下测试“react select” 我使click事件正常运行,但onChange事件显示错误:Jestjs TypeError:无法读取未定义的属性“AccountToken”,jestjs,onchange,Jestjs,Onchange,正在尝试为正在导入的select组件运行以下测试“react select” 我使click事件正常运行,但onChange事件显示错误: TypeError: Cannot read property 'Accounts' of undefined 以下是错误所在的位置,第行: setReport = () => { let data = this.state.Account.accountBody; this.setState({ AccountToken: data.
TypeError: Cannot read property 'Accounts' of undefined
以下是错误所在的位置,第行:
setReport = () => {
let data = this.state.Account.accountBody;
this.setState({
AccountToken: data.AccountToken,
渲染
<Select
className={'field-input-select margin-right'}
id='accounts-id-test'
value={this.state.Account}
onChange={(e) => { this.setState({Account: e}, ()=>{this.setReport()}) }}
onChange在0时工作,而不是在1时工作。为什么?错误意味着:
let contactBody = contact.contactBody;
未定义,因此现在您应该尝试使用console.log或其他方式进行调试,查看未定义的原因,并找到解决方案
wrapper.find('CLASS YOUR TESTING').find('Select').at(1).props().onChange({
accountBody:{
LOA:{
Documents:{
Signers:[],
}
}
}
})
console.logwrapper.debug不确定在何处查看它。我做了一个console.logwrapper状态,在函数中我只看到nulltry console.logcontact,我将它放在let contactBody=contact.contactBody之后;它显示的是contactid-test。所以我决定将accountOptions=contactBody.Accounts.map放在节点0之后,它不在节点0处,测试通过,工作正常。但不是在节点1-i处
wrapper.find('CLASS YOUR TESTING').find('Select').at(1).props().onChange({
accountBody:{
LOA:{
Documents:{
Signers:[],
}
}
}
})