尝试设置输入属性时,React useRef 返回未定义的错误
2021-01-15
1166
我已经使用了 react 中的 useRef hook
const myInput = useRef()
并将其传递给material-ui OutlinedInput组件
<OutlinedInput
id="outlined-adornment-amount"
inputRef={myInput}
type="file"
startAdornment={<InputAdornment position="start">
<FolderIcon fill="#333" />
</InputAdornment>}
labelWidth={60}
/>
当我尝试在 useEffect 中设置输入的属性时
useEffect(() => {
myInput.current.directory = true
}, [])
我得到了
Uncaught TypeError: Cannot set property 'directory' of undefined
3个回答
我看不出你的代码有什么问题。我测试过,一切正常。看看这个:
syllmz
2021-01-15
我遇到了完全相同的问题。我的项目中有多个 MUI 组件,输入位于模态框中。就我而言,有效的方法是使用超时。不确定这是否是最好的解决方案,但它确实有效:
const myInputRef = useRef();
....
useEffect(() => {
setTimeout(() => {
myInputRef.current.focus();
}, 0);
}, []);
Paul Pacurar
2021-12-31
可能是因为您使用的输入实际上不是输入。 我认为如果您记录您的参考,您将有 2 个子项。
Mohamadreza Kazemian
2022-12-08