<select value={author} onChange={({ target }) => setAuthor(target.value)} > {authors.map(author => <option key={author.name} value={author.name}> {author.name} </option>)} </select>Esto está en React/NodeJS. Todo funciona como se esperaba y la primera opción/autor.nombre se muestra de forma predeterminada. Sin embargo, no se establece como el valor predeterminado para el estado React, y hacer clic en el menú desplegable y luego seleccionarlo no cambia esto. Si se selecciona otra opción y luego selecciona la primera opción, funciona como se esperaba.
Debe establecer el estado (autor en este caso) por primera vez manualmente, porque el evento onChange solo se activa cuando cambia la opción seleccionada, por lo que no establece el estado cuando se carga. tienes dos opciones:
const [author,setAuthor] = useState(authors[0].name)
useEffect(()=>{ if(authors && authors.length>0){ setAuthor(authors[0].name); },[authors])