【发布时间】:2019-10-03 08:04:25
【问题描述】:
我有一个模板,其中包含 config.js 文件,该文件加载主题配置我想添加从 Light 模式到 Dark 模式的切换开关。当您在 config.js 中进行更改时,主题会发生变化,但我不知道如何动态更改 config.js 中的值。
我计划在索引文件中进行切换。
config.js
export default {
defaultPath: '/dashboard/default',
basename: '',
layout: 'vertical',
preLayout: '',
collapseMenu: false,
layoutType: 'dark', // menu-light
navIconColor: true,
headerBackColor: 'header-default', // header-dark
navBackColor: 'navbar-dark', // navbar-dark
navBrandColor: 'brand-dark', // brand-dark
navBackImage: false,
rtlLayout: false,
navFixedLayout: true,
headerFixedLayout: false,
boxLayout: false,
navDropdownIcon: 'style1',
navListIcon: 'style1',
navActiveListColor: 'active-*', // active-dark
navListTitleColor: 'title-default', // title-dark
navListTitleHide: false,
configBlock: false,
layout6Background : 'linear-gradient(to right, #A445B2 0%, #D41872 52%, #FF0066 100%)',
layout6BackSize : '',
};
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import { createStore } from 'redux';
import {Provider} from 'react-redux';
import {BrowserRouter} from 'react-router-dom';
import App from './App/index';
import * as serviceWorker from './serviceWorker';
import reducer from './store/reducer';
import config from './config';
const store = createStore(reducer);
const app = (
<Provider store={store}>
<BrowserRouter basename={config.basename}>
{/* basename="/datta-able" */}
<App />
</BrowserRouter>
</Provider>
);
ReactDOM.render(app, document.getElementById('root'));
【问题讨论】:
-
您要更改文件中的值,还是只更改导入对象中的值?
-
在导入的对象中,以便我可以切换
-
改一下——有什么问题?
-
如果我改变了配置中的值就没有回头路了,如果用户想把它从黑暗切换到明亮模式,反之亦然
-
@Sam,您可以通过本地存储中的状态对其进行更改。
标签: javascript reactjs