Este es el mapeo estándar para publicaciones de blog en Gatsby y muestran todas las publicaciones de blog con un título, la fecha y la publicación.
const { blogs } = data.strapi const { id } = data.strapi.blogs return ( <Layout> <article> <header> <h1> {blogs.title} </h1> <p> {blog.description} </p> </header> <hr /> </article> </Layout> ) }; export default BlogPost;pero como puedo cambiar el look que aparece en la primera entrada del blog con la fuente a la derecha y color rojo; el segundo título de la publicación del blog a la izquierda y el color azul y así sucesivamente?
Hice un if condicional pero no puedo hacerlo funcionar
let even=blogs.filter((a,i)=>i%2===1); // 1 3 5 let odd = blogs.filter((a,i)=>i%2===0); // 0 2 4 <div> {even.map((blog, i) => { return <h1 className="text-danger">{blog.title}</h1> })} </div>// Salida: título[0], título[2], título[4]; todo rojo
//Salida esperada: título[0] (rojo), título[1] (azul), título[2] (rojo), título[3] (azul) título[4] (rojo), título[5] (azul );
Suponiendo que está utilizando CSS para diseñar su blog, puede agregar condicionalmente el nombre de la clase para diseñar cada elemento al mismo tiempo que los recorre para imprimirlo.
<div> {blogs.map((blog, i) => { return <h1 className={`text-danger ${i%2===1 ? 'isEven' : 'isOdd'}`}>{blog.title}</h1> })} </div>