Come memorizzare post di blog nel database: React e GraphQL

1

Sto costruendo blog di viaggio usando React come framework Javascript di frontend insieme a GraphQL. Sto facendo questo progetto da solo come test pilota e attualmente sono in una fase di traduzione del disegno di Photoshop in HTML / CSS / JSX.

Ciò che mi infastidisce è quale sarà il modo migliore per archiviare i post dei blog nel database, recuperarli e mostrarli all'utente finale?

Il post del blog contiene: testo, categorie, link pinterest / instagram / facebook, immagini ospitate localmente, paragrafi, elenchi puntati, ecc.

La voce del database non dovrebbe essere accoppiata con React, quindi se deciderò di cambiare il framework di frontend in futuro, potrei farlo più facilmente. D'altra parte, React sconsiglia vivamente di utilizzare il metodo .dangerouslysetinnerhtml che potrebbe essere molto utile in questa situazione: memorizzerei il contenuto del post come puro html in db e lo scaricheremo usando graphql. Supponiamo che tutti i post del blog abbiano le stesse regole CSS!

    
posta Bip 10.09.2018 - 19:12
fonte

1 risposta

3

In genere utilizzo il markdown per il contenuto principale dei post del blog. Questo si trova accanto alle altre colonne del post del blog (titolo, slug, categorie, ecc.). Il vantaggio dell'utilizzo di markdown è che può essere considerato un sottoinsieme degli elementi visivi offerti dall'HTML, senza che gli autori possano accedere alla vastità dell'HTML ( <script> , <title> , <style> , ecc.). Come hai giustamente notato, l'utilizzo di dangerouslySetInnerHTML di React è davvero pericoloso, a volte anche se si esegue la trascrizione di markdown in HTML renderizzabile.

Esiste un pacchetto React, react-markdown , in grado di gestire il markdown transpiling con un semplice componente React. Ci sono alcune cose da notare quando prevedi l'HTML iniettato usando react-markdown , che sono discusse in questo problema di Github .

    
risposta data 10.09.2018 - 19:22
fonte

Leggi altre domande sui tag