【发布时间】:2017-09-04 22:46:05
【问题描述】:
我目前正在尝试构建一个简单的 react-redux 应用程序,该应用程序在后端包含学生和校园数据。 OnEnter 曾经在这里工作,但在新的 react-router 中不存在。
此应用尝试在开始时加载初始数据,而不是在每个实际组件中执行 componentDidMount。这是推荐的方法,还是有我不知道的替代模式?
/* -------------------< COMPONENT >------------------- */
import React from 'react';
import { BrowserRouter as Router, Route } from 'react-router-dom';
import Home from './components/Home';
import Students from './components/Students';
const Routes = ({ getInitialData }) => {
return (
<Router>
<div>
<Route exact path="/" component={Home} onEnter={getInitialData} />
<Route path="/students" component={Students} />
<Route path="*" component={Home} />
</div>
</Router>
);
};
/* -------------------< CONTAINER >-------------------- */
import { connect } from 'react-redux';
import receiveStudents from './reducers/student';
import receiveCampuses from './reducers/campus';
const mapState = null;
const mapDispatch = dispatch => ({
getInitialData: () => {
dispatch(receiveStudents());
dispatch(receiveCampuses());
}
});
export default connect(mapState, mapDispatch)(Routes);
【问题讨论】:
标签: reactjs react-router redux-thunk