我正在尝试使用ref设置输入的值,但在useCallback Hook中获取ref null。

let inputRef = useRef();
const search = useCallback(
        (data) => {
            console.log(inputRef);
        },
        [inputRef],
    );

return <input type="text" ref={inputRef} />



当我调用此函数时,它在浏览器控制台中显示null

这只是一个示例,显示了我要实现的目标。

最佳答案

可能您需要先将null传递给useRef()。然后,您可以使用inputRef.current访问。

请尝试以下操作:

let inputRef = useRef(null);

const search = useCallback((data) => {
   console.log(inputRef.current);
}, [inputRef]);

return <input type="text" ref={inputRef} />


useRef()的文档中:


  useRef返回一个可变的ref对象,该对象的.current属性被初始化为传递的参数(initialValue)。返回的对象将在组件的整个生存期内持续存在。


我希望这有帮助!

09-18 17:20