我找到了这个答案:ReactJS and autofocus
但是我不知道该如何转换:
constructor(props) {
super(props);
this.myRef = React.createRef();
}
componentDidMount(){
this.myRef.current.focus();
}
<input type="text" ref={this.myRef} />
反应钩子版本。
我尝试这样做:
const myRef = () => {
React.createRef().current.focus();
}
<input type="text" ref={myRef} />
但出现错误:
TypeError: Cannot read property 'focus' of null
答案 0 :(得分:0)
与useRef
一样,您也需要使用useEffect
,它会在渲染后运行。 []
表示it only runs once。
import React, { useRef, useEffect } from 'react';
function Component() {
const ref = useRef(null);
useEffect(() => {
ref.current.focus();
}, []);
return <input type="text" ref={ref} />;
}