Dentro de la función de mapa por qué la función está definida con ( ) => ( ) en lugar de ( ) => { }
{mylist.map((elem, index) => ( <div key={elem.id}> <h2>{elem.title}</h2> </div> ))}Puede omitir () si pone todo en una línea:
{mylist.map((elem, index) => <div key={elem.id}><h2>{elem.title}</h2></div>)}Si desea devolver algo, pero toma varias líneas, debe usar ():
{mylist.map((elem, index) => ( <div key={elem.id}> <h2>{elem.title}</h2> </div> ))}Finalmente, cuando desee realizar algo y LUEGO devolver el resultado, debe usar {}. Todavía debe preocuparse cuando devuelve algo: si toma varias líneas, debe envolverlo con ():
{mylist.map((elem, index) => { const id = elem.id; const title = elem.title; return ( <div key={id}> <h2>{title}</h2> </div> ); })} Para devolver objetos también es un poco diferente: puede envolver su objeto entre paréntesis: ({...}) o devolverlo explícitamente: () => { return { ... }}