Route Components

Route Components是指 ./src/routes/ 目录下的文件,它们是 ./src/router.js 里匹配的 Component。

通过connect绑定数据
比如:

import { connect } from 'dva';
function App() {}

function mapStateToProps(state, ownProps) {
	return {
		users: state.users,
	};
}
export default connect(mapStateToProps)(App);

然后在App里就有了dispatch和users两个属性。

Injected Props
Route Component会有额外的props用以获取路由信息。

  • location
  • params
  • children
  • 。。。

朋友们可以将this.props输出出来就知道多了哪些东西是用来干嘛的了。

基于 action 进行页面跳转

import { routerRedux } from 'dva/router';

// 在Effects里
yield put(routerRedux.push('/logout'));

// 在Effects外
dispatch(routerRedux.push('/logout'));

// 路由跳转时附加参数
routerRedux.push({
	pathname: '/logout',
	query: {
		page: 2,
	},
});

除push(location)外还有其他方法,请看笔者其他文章。