Gatsby: Frage zu gatsby-plugin-styled-components

Erstellt am 12. Nov. 2017  ·  3Kommentare  ·  Quelle: gatsbyjs/gatsby

Zunächst einmal vielen Dank an alle Mitwirkenden von GATSBY, ich liebe es! Meine Frage ist sehr einfach, aber ich konnte keinen Beitrag mit der Antwort finden.

Wie kann ich globale Stile für gatsby-plugin-styled-components einfügen, wenn ich Typography.js nicht verwende?
Zum Beispiel:
Wo füge ich den folgenden Code ein?

injectGlobal`
  * { box-sizing: border-box; }
  body { margin: 0; color: #374047}
`

Danke im Voraus!

question or discussion

Hilfreichster Kommentar

@dustinhorton danke.
Ich habe einen Layoutordner mit einer index.js-Datei erstellt. Ich habe dann die folgenden globalen Stile injiziert und es funktionierte wie ein Zauber :-)

import React from "react"

import { injectGlobal } from 'styled-components'

injectGlobal`
*,
*::after,
*::before {
  margin: 0;
  padding: 0;
  box-sizing: inherit; }

html {
  font-size: 62.5%; }

body {
  box-sizing: border-box; }

body {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  line-height: 1.7;
  color: #374047; }
`

export default ({children}) =>
 <div>
     {children()}
 </div>

Alle 3 Kommentare

Sofern ich das nicht falsch verstehe (und dies muss bei gestylten Komponenten wirklich anders gemacht werden), zeigt das Beispiel der https://github.com/gatsbyjs/gatsby/blob/5a0aac34bc4a509e871f524d8705cb9e0a501ce1/examples/hn/ src/layouts/default.js#L4

Bearbeiten: Ich hatte nicht bemerkt, dass injectGlobal eine Methode mit gestylten Komponenten ist, aber ich sehe sie @ https://www.styled-components.com/docs/api. Neugierig, warum Sie dies in einer Gatsby-App benötigen, in der sie einfach nur ein Stylesheet erstellen kann.

@dustinhorton danke.
Ich habe einen Layoutordner mit einer index.js-Datei erstellt. Ich habe dann die folgenden globalen Stile injiziert und es funktionierte wie ein Zauber :-)

import React from "react"

import { injectGlobal } from 'styled-components'

injectGlobal`
*,
*::after,
*::before {
  margin: 0;
  padding: 0;
  box-sizing: inherit; }

html {
  font-size: 62.5%; }

body {
  box-sizing: border-box; }

body {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  line-height: 1.7;
  color: #374047; }
`

export default ({children}) =>
 <div>
     {children()}
 </div>

@ferMartz kann dieses Problem vielleicht geschlossen werden? :)

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen