我正在尝试使用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)。返回的对象将在组件的整个生存期内持续存在。我希望这有帮助!