Далее js переключить цвет фона тела - PullRequest
0 голосов
/ 04 августа 2020

Пытаюсь сделать кнопку для смены фона в Next js. Почему это не работает?

_app.js

import '../styles/global.css'
import { AppProps } from 'next/app'
import { useState } from 'react'


export default function App({ Component, pageProps }: AppProps) {
  const [isDark, setIsDark] = useState(false)
  
  return (
    <>
      <Component {...pageProps} />
      <style jsx global>{`
        ${ isDark ? 'body {background: darkslategray;}' : 'body {background: antiquewhite;}' }
      `}</style>
    </>
  )
}

1 Ответ

1 голос
/ 05 августа 2020

Я не уверен во внутренней реализации styled-jsx, но, по-видимому, это работает:

<style jsx global>{`
  body {
    background: ${isDark ? "darkslategray" : "antiquewhite"};
  }
`}</style>

См. docs

Разумно думать, что ваш код также может работать, поэтому вы можете отправить проблему на styled-jsx .

...