Estoy tratando de usar useRef para enfocarme automáticamente en el campo de textfield en la aplicación. Sin embargo, el campo de textfield solo aparece después de hacer clic en un button , por lo que no se monta inicialmente cuando se procesa la aplicación. Por lo tanto, inputRef.current siempre me devuelve undefined cuando estoy usando el gancho useEffect , porque inputRef se engancha solo después de que textfield el campo de texto.
Entonces, en cambio, engancho mi inputRef.current?.focus() en el button de esta manera: <Button onClick={() => {toggleCreateWindow(); useInput.current?.focus();}}>
Pero tampoco funcionará, hasta que lo coloque como una función asíncrona en línea como esta: <Button onClick={ async () => { await toggleCreateWindow(); useInput.current?.focus();}}>
Ahora funciona correctamente, pero el vscode siempre me recuerda que 'await' has no effect on this type of expression
¿Alguien sabe por qué funciona la función asíncrona? Me refiero a que la función no debería ser asíncrona porque es solo una función setState & alternar ventana: const toggleCreateWindow = () => {setOpenCreate(!openCreate);}; Además, ¿por qué vscode me da esta advertencia?
muy apreciado