Javascript 参考属性';焦点';未在componentDidMount中定义 public divContainer:HTMLElement; componentDidMount(){ this.divContainer.focus() } buildRef=(e)=>{ this.divContainer=e; } render(){ 返回( ) }
在上面的代码中,我得到了div的一个ref,并在componentDidMount中将焦点添加到它。但是当我运行测试时,它说Javascript 参考属性';焦点';未在componentDidMount中定义 public divContainer:HTMLElement; componentDidMount(){ this.divContainer.focus() } buildRef=(e)=>{ this.divContainer=e; } render(){ 返回( ) },javascript,reactjs,typescript,jestjs,Javascript,Reactjs,Typescript,Jestjs,在上面的代码中,我得到了div的一个ref,并在componentDidMount中将焦点添加到它。但是当我运行测试时,它说无法读取未定义的的属性“focus”。在componentDidMount之前不运行ref吗?如果是,那么为什么会出现这种错误 请注意,实际组件按预期呈现和工作。只是测试失败了。我还找到了一个解决方案,那就是在此if(this.divContainer)条件中包装this.divContainer.focus() public divContainer: HTMLEleme
无法读取未定义的的属性“focus”。在componentDidMount之前不运行ref吗?如果是,那么为什么会出现这种错误
请注意,实际组件按预期呈现和工作。只是测试失败了。我还找到了一个解决方案,那就是在此if(this.divContainer)
条件中包装this.divContainer.focus()
public divContainer: HTMLElement;
componentDidMount(){
this.divContainer.focus()
}
buildRef = (e) => {
this.divContainer = e;
}
render() {
return (
<div ref={this.buildRef}></div>
)
}