簡體   English   中英

使用 UIkit 和 NextJs 時如何修復“警告:道具類名不匹配”

[英]How to fix “Warning: Prop className did not match” when using UIkit and NextJs

使用UIkit在 NextJS 中設置組件樣式時會出現警告。

重現:

  1. 創建新的 nextjs 應用程序:npx npx create-next-app {app-name}
  2. cd {app-name} && npm i
  3. pages/index.js中的代碼替換為下面的代碼片段(第二部分)
  4. 創建components/layout.js並添加下面的代碼片段(第一部分)
  5. npm run dev和 go 到 http://localhost:3000
  6. 您將在控制台中看到警告

該應用程序正常運行,但警告實際上是關閉

 // components/layout.js (1st part) import Head from "next/head"; const Layout = ({ children }) => { return ( <> <Head> {/* UIkit CSS */} <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/uikit@3.5.5/dist/css/uikit.min.css" /> <title>NextJs App</title> {/* UIkit JS */} <script async src="https://cdn.jsdelivr.net/npm/uikit@3.5.5/dist/js/uikit.min.js" /> <script async src="https://cdn.jsdelivr.net/npm/uikit@3.5.5/dist/js/uikit-icons.min.js" /> </Head> {children} </> ); }; export default Layout; // pages/index.js (2nd part) import Layout from "../components/layout"; const Home = () => { return ( <Layout> <div className="uk-child-width-expand@s uk-text-center" data-uk-grid> <div> <div className="uk-card uk-card-default uk-card-body">Item</div> </div> <div> <div className="uk-card uk-card-default uk-card-body">Item</div> </div> <div> <div className="uk-card uk-card-default uk-card-body">Item</div> </div> </div> </Layout> ); }; export default Home;

控制台上出現的錯誤如下圖所示

在此處輸入圖像描述

問題似乎是我加載腳本的方式。

當我將腳本屬性async更改為defer時,警告消失了,並且頁面在沒有任何警告的情況下被編譯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM