College
內容框架
mapStateToProps裏返回的數據, 是從CollegeRedux中reducer返回的新的state中獲取的
mapStateToProps(state) {
return {
article: state.CollegeReducer.article //state後面要跟reducer名
}
}
mapDispatchToProps(dispatch) {
return {
action: bindActionCreators(actions, dispatch) //這裏面的actions是在College頂部獲取的 import { actions } from 'CollegeRedux';
}
}
路徑跳轉
若是是內部路徑,能夠用browserHistory.push('/college/basic');
若是是外部路徑,能夠用window.location.href = 'http://www.baidu.com'; 不能夠用browserHistory.push
剛加載的時候頁面無內容的地方背景爲黑色,應該設置全局樣式
.wrapper {
width: 100%;
height: 100%;
position: absolute; //不設置定位,不起做用
}
CollegeRedux:
action的定義中請求數據
function getArticle() {
return (dispatch) => {
axios({
method: 'post',
...,
onSuccess: (res) => {
dispatch({
type: 'ARTICLE',
data: res.list //根據後臺給的接口
})
}
})
}
}
輸出reducer
export default function CollegeReducer( state=initState, action ) {
switch(action.type) {
case 'ARTICLE':
return Object.assign({}, state, { article: action.data });
}
}
輸出總的 actions
export const actions = { //注意不是這裏用bindActionCreators
getArticle,
...
}
多個頁面可使用同一個CollegeRedux文件,不用從新寫一個redux文件