javascript - 如何修复 "TypeError: Cannot read properties of undefined (reading ' useSystemColorMode')"

标签 javascript css reactjs chakra-ui

所以我正在使用 ChakraUI 和 React JS 来制作一个元素。每当我启动元素时,都会出现错误“TypeError:无法读取未定义的属性(读取'useSystemColorMode')”。
我没有编辑任何全局主题或脉轮中的任何内容。我刚刚开始制作导航栏,用 CSS 设计。当我尝试运行它时,它会向我显示错误。 这是我的导航栏组件

import React from "react";
import { MenuItems } from "./MenuItems";
import "./navbar.css";

function Navbar() {
  return (
    <>
      <nav className='NavbarItems'>
        <h1 className='navbar-logo'></h1>
        <div className='menu-icon'></div>
        <ul>
          {MenuItems.map((item, index) => {
            return (
              <li key={index}>
                <a className={item.cname} href={item.url}>
                  {item.title}
                </a>
              </li>
            );
          })}
        </ul>
      </nav>
    </>
  );
}

export default Navbar;

导航栏 CSS 文件

.NavbarItems {
  height: 80px;
  display: flex;
  justify-content: center;
}

App.js 文件

import { ChakraProvider } from "@chakra-ui/provider";
import Navbar from "./components/navbar";
function App() {
  return (
    <ChakraProvider>
      <Navbar />
    </ChakraProvider>
  );
}

export default App;

最佳答案

所以基本上这是 ChakraUI 主题的问题,即使我没有对 ChakraUI 主题或任何内容做任何事情。 我添加了 theme.js 文件,其中包含以下内容:

// theme.js

// 1. import `extendTheme` function
import { extendTheme } from "@chakra-ui/react";

// 2. Add your color mode config
const config = {
  initialColorMode: "light",
  useSystemColorMode: true,
};

// 3. extend the theme
const theme = extendTheme({ config });

export default theme;

然后我在index.js 文件中包含以下内容:

import React from "react";
import ReactDOM from "react-dom";
import App from "./App";
import { ColorModeScript } from "@chakra-ui/color-mode";
import theme from "./theme";

ReactDOM.render(
  <React.StrictMode>
    <ColorModeScript initialColorMode={theme.config.initialColorMode} />
    <App />
  </React.StrictMode>,
  document.getElementById("root")
);

而且它成功了。如果有人遇到同样的问题,可以查看https://chakra-ui.com/docs/features/color-mode .

关于javascript - 如何修复 "TypeError: Cannot read properties of undefined (reading ' useSystemColorMode')",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70257721/

相关文章:

reactjs - 从网络获取数据时如何隐藏和显示进度条?

javascript - 三.JS使面法线垂直于面和外方向

javascript - Safari 中通过 iframe 的 Flash 正在中断

css - 如何在 CSS 图像上设置 crossorigin ="anonymous"?

java - Jquery Slides,我想要一个随时打开

reactjs - 'react-scripts start'命令到底是什么?

reactjs - Grails项目与React在我的gradle.build文件中显示错误

javascript - 将箭头键映射到滚轮功能?

javascript - 使用url的Angularjs下载功能

css - CSS有没有第二个字母伪元素