Beim Anwenden von TailwindCSS-Stilen in Next.js tritt das Problem auf, dass die Stile nicht gerendert werden.
<p>Mit TailwindCSS habe ich die Hintergrundabdeckung festgelegt und die Farbe aus der bookId (10 Ziffern) in useEffect extrahiert. Die Farben werden aktualisiert und die Komponente wird mit den aktualisierten Farbwerten erneut gerendert, aber die Hintergrundfarbe der gerenderten Seite ist immer noch dieselbe Farbe wie das übergeordnete Div. </p>
<pre class="brush:php;toolbar:false;">const farben = [
'von-rot-500',
'von-orange-500',
'von-gelb-500',
'von-grün-500',
'von-cyan-500',
'von-blau-500',
'from-indigo-500',
'von-violett-500',
'von-lila-500',
'from-pink-500',
]
Funktion BgCover(props) {
const [color, setColor] = useState(null)
const router = useRouter()
useEffect(() => {
const id = router.query.bookId
const index = id.slice(-1) //Index aus bookId extrahieren
const bgColor = farben[index]
setColor(bgColor)
}, [])
zurückkehren (
<Fragment>
{Farbe ? (
<div className='flex-grow scrollbar-hide select-none relative'>
<div className={`bg-gradient-to-b ${color} to-black`}>
<Abschnitt
className={`flex flex-col md:flex-row items-center justify-center p-4`}>
{props.children}
</Abschnitt>
</div>
</div>
) : (
<p className='text-2xl'>Laden..</p>
)}
</Fragment>
)
}</pre>
<p>Wenn ich jedoch die Farbvariable durch einen Farbwert ersetze (z. B. „from-red-500“), ist die Hintergrundfarbe auf der gerenderten Seite sichtbar. </p>
<p>Ich habe auch versucht, den setColor-Code in useEffect durch getStaticProps zu ersetzen, aber die statische Version des Codes hat das Problem nicht gelöst (bei Verwendung der Farbvariablen). </p>
<p>Danke für jede Hilfe. </p>