我们正在使用 React 和 Ant Design 开发一个使用界面。我们想覆盖默认的主题和颜色。作为示例,我们定义了一个名为 theme 的数组。有 4 个不同的主题作为对象。我定义了一个按钮来更改主题。阅读官方文档,我在 App.js 中包含了以下代码来覆盖默认主题,但没有成功。
ConfigProvider.config(
{
theme:theme
}
)
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我覆盖默认主题而不需要更少或任何其他东西,而只是使用 ConfigProvider 吗?
import "./App.css";
import "antd/dist/antd.css";
import { ConfigProvider } from "antd";
import { ThemeProvider } from "styled-components";
import ChangeTheme from "./components/ChangeTheme";
import { useContext } from "react";
import { AppContext } from "./_context";
const App = () => {
const { theme } = useContext(AppContext);
ConfigProvider.config({
theme: theme,
});
return (
<ThemeProvider theme={theme}>
<ConfigProvider>
<div className="App">
<ChangeTheme />
</div>
</ConfigProvider>
</ThemeProvider>
);
};
export default App;
Run Code Online (Sandbox Code Playgroud)
sim*_*shi 10
第一步
您需要导入antd.variable.min.css根文件之一,就像文档src/index.js中推荐的那样,
导入 'antd/dist/antd.variable.min.css';
第二步
ConfigProvider您还需要导入antd src/index.js:
从 'antd' 导入 { ConfigProvider };
第三步
那么你需要在如下config方法中修改主题变量:ConfigProvider
ConfigProvider.config({ 主题: { PrimaryColor: "#f00" } });
ps您可以修改的变量theme是:
第四步
最后你将组件ConfigProvider包裹<App/>在src/index.js
<ConfigProvider>
{/* some other codes you might have */}
<App />
</ConfigProvider>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10450 次 |
| 最近记录: |