Actualmente estoy usando el enlace useRef en el campo de texto Material Ui, y seguí recibiendo el error Uncaught TypeError: Cannot read properties of undefined (reading 'focus')
, y no tengo idea de cómo resolverlo. Mi código se ve así:
const LoginTextField = styled(TextField)({ '& .MuiInput-underline:after': { borderBottomColor: 'white', }, '& .MuiOutlinedInput-root': { '& fieldset': { borderColor: '#263238', }, input: { color: 'white' }, backgroundColor: '#263238' } }); export default function test() { const userRef = useRef(); const [loginEmail, setLoginEmail] = useState(''); useEffect(() => { userRef.current.focus(); }, []) <LoginTextField label='Email' variant='outlined' onChange={(e) => setLoginEmail(e.target.value)} inputRef={userRef} InputLabelProps={{ style: { color: 'white' } }} /> }
¿Alguien tiene una idea de lo que está mal con mi código? Muchas gracias.
oye, creo que sería mejor si primero inicializas el valor en userRef().
Entonces, piense en useRef como useState, donde el estado se guarda en el siguiente renderizado, así que creo que también debe decidir qué useRef desea hacer, como actualizar el correo electrónico o la contraseña.
Por ejemplo: useRef('') o null
o lo que quiera que sea el estado/valor inicial/predeterminado en su caso.
Entonces tal vez podrías crear una función
const myFunction = () => { // update the state or what you actually want to implement }
Luego ejecutaría myFunction
dentro de useEffect.
Espero que eso ayude.
Compruebe también esto: https://dmitripavlutin.com/react-useref-guide/