我不斷收到此錯誤:“型別 'never' 上不存在屬性 'value'”
interface InputProps {
name: string;
icon?: ReactElement;
placeholder?: string;
}
const Input = ({ name, icon: Icon, ...rest }: InputProps) => {
const inputRef = useRef(null);
const [isFocused, setIsFocused] = useState(false);
const [isFilled, setIsFilled] = useState(false);
const { fieldName, defaultValue, registerField } = useField(name);
const handleInputFocus = useCallback(() => {
setIsFocused(true);
}, []);
const handleInputBlur = useCallback(() => {
setIsFocused(false);
setIsFilled(!!inputRef.current?.value);
}, []);
錯誤在最后一部分: setIsFilled(!!inputRef.current?.value);
uj5u.com熱心網友回復:
您將型別作為泛型引數提供。
useRef<HTMLInputElement>(null)
這是必要的,因為不能單獨從默認值推斷型別null。
操場
另一種選擇是強制null轉換null為成員所在的聯合。然后useRef 可以推斷出正確的型別。
useRef(null as HTMLInputElement | null);
操場
但通常,使用useRef<TypeHere>()是因為它更干凈、更簡單。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/370697.html
