在Next.js中套用TailwindCSS樣式時,遇到樣式未渲染的問題
P粉933003350
P粉933003350 2023-08-27 09:05:26
0
1
469
<p>使用TailwindCSS設定背景封面,我在useEffect中從bookId(10位數)中提取了顏色。顏色已更新,元件使用更新後的顏色值重新渲染,但渲染頁面的背景顏色仍然是其父div的相同顏色。 </p> <pre class="brush:php;toolbar:false;">const colors = [ 'from-red-500', 'from-orange-500', 'from-yel​​low-500', 'from-green-500', 'from-cyan-500', 'from-blue-500', 'from-indigo-500', 'from-violet-500', 'from-purple-500', 'from-pink-500', ] function BgCover(props) { const [color, setColor] = useState(null) const router = useRouter() useEffect(() => { const id = router.query.bookId const index = id.slice(-1) //從bookId中擷取索引 const bgColor = colors[index] setColor(bgColor) }, []) return ( <Fragment> {color ? ( <div className='flex-grow scrollbar-hide select-none relative'> <div className={`bg-gradient-to-b ${color} to-black`}> <section className={`flex flex-col md:flex-row items-center justify-center p-4`}> {props.children} </section> </div> </div> ) : ( <p className='text-2xl'>載入中..</p> )} </Fragment> ) }</pre> <p>但是,當我用顏色值(例如'from-red-500')取代color變數時,渲染頁面中的背景顏色是可見的。 </p> <p>我還嘗試用getStaticProps取代useEffect中的setColor程式碼,但靜態版本的程式碼無法解決這個問題(當使用color變數時)。 </p> <p>感謝任何幫助。 </p>
P粉933003350
P粉933003350

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!