Reactjs 如何在react路由器中包含布局模板?

Reactjs 如何在react路由器中包含布局模板?,reactjs,redux,react-router,react-redux,react-router-redux,Reactjs,Redux,React Router,React Redux,React Router Redux,我在react应用程序中使用redux、react路由器和react路由器redux。因此,这是一个简单的应用程序,在这个应用程序中,我需要使用一个简单的路由视图。我已经阅读了文档,可以毫无问题地创建mi route,但在routes添加模板时,我遇到了问题。我需要将reducer的调度和状态传递给视图和模板,以便可以操作模板中的微调器和其他元素。我不确定我是如何制作的,或者我是否制作正确。 你能帮帮我吗 这是我的路由器代码: import React from 'react'; import

我在react应用程序中使用redux、react路由器和react路由器redux。因此,这是一个简单的应用程序,在这个应用程序中,我需要使用一个简单的路由视图。我已经阅读了文档,可以毫无问题地创建mi route,但在routes添加模板时,我遇到了问题。我需要将reducer的调度和状态传递给视图和模板,以便可以操作模板中的微调器和其他元素。我不确定我是如何制作的,或者我是否制作正确。 你能帮帮我吗

这是我的路由器代码:

import React from 'react';
import ReactDOM from 'react-dom';

import {Provider} from 'react-redux';
import {Route} from 'react-router';
import {ConnectedRouter} from 'react-router-redux';
import {Switch} from 'react-router-dom';

import {store, history} from './store/index';
import Layout from './components/Layout';
import './bootstrap-3/css/bootstrap.min.css';

/* Components */
import Home from './components/abouts/home';
import About from './components/abouts/about';
import NoMatch from './components/abouts/nomatch';
import Artists from './components/artists';

const NodeId = document.getElementById('root');

ReactDOM.render(
    <Provider store={store}>
    <ConnectedRouter history={history}>
        <Layout>
            <Switch>
                <Route exact path="/" component={Home}/>
                <Route path="/about" component={About}/>
                <Route path="/artists" component={Artists}/>
                <Route component={NoMatch}/>
            </Switch>
        </Layout>
    </ConnectedRouter>
</Provider>, NodeId);
从“React”导入React;
从“react dom”导入react dom;
从'react redux'导入{Provider};
从“反应路由器”导入{Route};
从“react router redux”导入{ConnectedRouter};
从'react router dom'导入{Switch};
从“/store/index”导入{store,history};
从“./components/Layout”导入布局;
导入“./bootstrap-3/css/bootstrap.min.css”;
/*组成部分*/
从“./components/abouts/Home”导入主页;
从“./components/About/About”导入关于;
从“./components/abouts/NoMatch”导入NoMatch;
从“/组件/艺术家”导入艺术家;
const NodeId=document.getElementById('root');
ReactDOM.render(
,NodeId);
所以我不确定如何传递redux状态和route的dispatched to组件,所以我在每个组件中都做了类似的事情,我想有一种更好的方式来做

import {connect} from 'react-redux';
import * as artistActions from './actions/artistActions';
import * as globalConfigActions from './actions/globalConfigActions';


class Abouts extends Component {
    render() {
        console.log('Abouts Component: ', this);
        return (
          <div>
            <h1>About</h1>
          </div>
        );
    }
}

const mapStaeToProps = (state) => {
    return {
      artist: state.artist,
      globalConfig: state.globalConfig
    }
};

const mapDispatchToProps = (dispatch) => {
    return {
        fetchArtist: () => {
            return dispatch(artistActions.fetchArtist());
        },
        globalConfigActions: {
          showSpinner: () => {
              dispatch(globalConfigActions.showSpinner());
          },
          hiddenSpinner: () => {
              dispatch(globalConfigActions.hiddenSpinner());
          }
        }
    }
};

export default connect (mapStaeToProps, mapDispatchToProps)(About);
从'react redux'导入{connect};
从“/actions/artistActions”导入*作为artistActions;
从“./actions/globalconfigations”导入*作为globalconfigations;
类Abouts扩展组件{
render(){
log('Abouts Component:',this);
返回(
关于
);
}
}
const mapstateprops=(状态)=>{
返回{
艺术家:国家艺术家,
globalConfig:state.globalConfig
}
};
const mapDispatchToProps=(调度)=>{
返回{
艺术家:()=>{
退货派送(artistActions.fetchArtist());
},
全球冲突:{
showSpinner:()=>{
分派(globalconfigations.showSpinner());
},
hiddenSpinner:()=>{
分派(globalconfigations.hiddenSpinner());
}
}
}
};
导出默认连接(MapStateToprops、mapDispatchToProps)(关于);
对于这种形式,我可以将状态和分派给组件传递给每个主组件,但我需要将状态和分派给模板,当我尝试使用模板时,路由不起作用,视图也不会更改

如果我使用一个没有redux的“mapDispatchToProps”和“mapstateToprops”的简单模板,它工作得很好,但是布局无法访问redux的方法或状态

有人能告诉我怎么做才能正确吗

多谢各位