【问题标题】:How to change theme dynamically from store data?如何从商店数据动态更改主题?
【发布时间】:2019-06-21 14:04:34
【问题描述】:

我正在尝试使用商店 (redux) 中的数据动态更改 MuiThemeProvider 颜色。但是这些数据是在 App.js 中渲染后异步加载的,使得主题提供者无法访问颜色道具。如何异步更新商店?

import './App.css';
import MuiThemeProvider from '@material-ui/core/styles/MuiThemeProvider'
import theme from './config/theme'
import configureStore from './store/store'
import {Provider} from 'react-redux'
import {LocalizeProvider} from "react-localize-redux";
import Router from "./pages/Router";

export const store = configureStore()

class App extends Component {

  render() {
        return (
            <LocalizeProvider>
                <Provider store={store}>
                    <MuiThemeProvider theme={theme}>
                        <Router/>
                    </MuiThemeProvider>
                </Provider>
            </LocalizeProvider>
        );
  }
}

export default App;```

【问题讨论】:

    标签: javascript reactjs react-redux material-ui redux-saga


    【解决方案1】:
    componentDidMount() {
      const jssStyles = document.getElementById("jss-server-side");
       if (jssStyles && jssStyles.parentNode) {
            jssStyles.parentNode.removeChild(jssStyles); }
    }
    render() {
       return (
    <Provider store={store}>
       <BrowserRouter>
         <Routes />
        </BrowserRouter>
    </Provider>
       );   
     }
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-14
      • 2016-02-06
      • 2019-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多