Skip to content

Commit af4aad1

Browse files
committed
2 parents 9e732b5 + b1efef9 commit af4aad1

File tree

5 files changed

+23
-19
lines changed

5 files changed

+23
-19
lines changed

src/application/Rank/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ function Rank(props) {
4444
return (
4545
<List globalRank={global}>
4646
{
47-
list.map((item) => {
47+
list.map((item, index) => {
4848
return (
49-
<ListItem key={item.coverImgId} tracks={item.tracks} onClick={() => enterDetail(item)}>
49+
<ListItem key={`${item.coverImgId}${index}`} tracks={item.tracks} onClick={() => enterDetail(item)}>
5050
<div className="img_wrapper">
5151
<img src={item.coverImgUrl} alt=""/>
5252
<div className="decorate"></div>

src/application/Singers/index.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
EnterLoading
1010
} from "./style";
1111
import { connect } from 'react-redux';
12-
import { getSingerList, changeCategory, changeAlpha, getHotSingerList, changeEnterLoading, changePageCount, refreshMoreSingerList, changePullUpLoading,changePullDownLoading, refreshMoreHotSingerList } from './store/actionCreators';
12+
import { getSingerList, changeCategory, changeAlpha, getHotSingerList, changeEnterLoading, changeListOffset, refreshMoreSingerList, changePullUpLoading,changePullDownLoading, refreshMoreHotSingerList } from './store/actionCreators';
1313
import Scroll from "../../baseUI/scroll/index";
1414
import LazyLoad, {forceCheck} from 'react-lazyload';
1515
import Loading from '../../baseUI/loading/index';
@@ -117,20 +117,19 @@ const mapDispatchToProps = (dispatch) => {
117117
},
118118
updateCategory(newVal) {
119119
dispatch(changeCategory(newVal));
120-
dispatch(changePageCount(0));
120+
dispatch(changeListOffset(0));
121121
dispatch(changeEnterLoading(true));
122122
dispatch(getSingerList());
123123
},
124124
updateAlpha(newVal) {
125125
dispatch(changeAlpha(newVal));
126-
dispatch(changePageCount(0));
126+
dispatch(changeListOffset(0));
127127
dispatch(changeEnterLoading(true));
128128
dispatch(getSingerList());
129129
},
130130
// 滑到最底部刷新部分的处理
131131
pullUpRefresh(hot, count) {
132132
dispatch(changePullUpLoading(true));
133-
dispatch(changePageCount(count+1));
134133
if(hot){
135134
dispatch(refreshMoreHotSingerList());
136135
} else {
@@ -140,7 +139,7 @@ const mapDispatchToProps = (dispatch) => {
140139
//顶部下拉刷新
141140
pullDownRefresh(category, alpha) {
142141
dispatch(changePullDownLoading(true));
143-
dispatch(changePageCount(0));
142+
dispatch(changeListOffset(0));
144143
if(category === '' && alpha === ''){
145144
dispatch(getHotSingerList());
146145
} else {

src/application/Singers/store/actionCreators.js

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
CHANGE_SINGER_LIST,
77
CHANGE_CATOGORY,
88
CHANGE_ALPHA,
9-
CHANGE_PAGE_COUNT,
9+
CHANGE_LIST_OFFSET,
1010
CHANGE_PULLUP_LOADING,
1111
CHANGE_PULLDOWN_LOADING,
1212
CHANGE_ENTER_LOADING
@@ -30,8 +30,8 @@ const changeSingerList = (data) => ({
3030
data: fromJS(data)
3131
});
3232

33-
export const changePageCount = (data) => ({
34-
type: CHANGE_PAGE_COUNT,
33+
export const changeListOffset = (data) => ({
34+
type: CHANGE_LIST_OFFSET,
3535
data
3636
});
3737

@@ -61,19 +61,21 @@ export const getHotSingerList = () => {
6161
dispatch(changeSingerList(data));
6262
dispatch(changeEnterLoading(false));
6363
dispatch(changePullDownLoading(false));
64+
dispatch(changeListOffset(data.length));
6465
}).catch(() => {
6566
console.log('热门歌手数据获取失败');
6667
})
6768
}
6869
};
6970
export const refreshMoreHotSingerList = () => {
7071
return (dispatch, getState) => {
71-
const pageCount = getState().getIn(['singers', 'pageCount']);
72+
const offset = getState().getIn(['singers', 'listOffset']);
7273
const singerList = getState().getIn(['singers', 'singerList']).toJS();
73-
getHotSingerListRequest(pageCount).then(res => {
74+
getHotSingerListRequest(offset).then(res => {
7475
const data = [...singerList, ...res.artists];
7576
dispatch(changeSingerList(data));
7677
dispatch(changePullUpLoading(false));
78+
dispatch(changeListOffset(data.length));
7779
}).catch(() => {
7880
console.log('热门歌手数据获取失败');
7981
});
@@ -84,13 +86,15 @@ export const refreshMoreHotSingerList = () => {
8486

8587
export const getSingerList = () => {
8688
return (dispatch, getState) => {
89+
const offset = getState().getIn(['singers', 'listOffset']);
8790
const category = getState().getIn(['singers', 'category']);
8891
const alpha = getState().getIn(['singers', 'alpha']);
89-
getSingerListRequest(category, alpha, 0).then(res => {
92+
getSingerListRequest(category, alpha, offset).then(res => {
9093
const data = res.artists;
9194
dispatch(changeSingerList(data));
9295
dispatch(changeEnterLoading(false));
9396
dispatch(changePullDownLoading(false));
97+
dispatch(changeListOffset(data.length));
9498
}).catch(() => {
9599
console.log('歌手数据获取失败');
96100
});
@@ -101,12 +105,13 @@ export const refreshMoreSingerList = () => {
101105
return (dispatch, getState) => {
102106
const category = getState().getIn(['singers', 'category']);
103107
const alpha = getState().getIn(['singers', 'alpha']);
104-
const pageCount = getState().getIn(['singers', 'pageCount']);
108+
const offset = getState().getIn(['singers', 'listOffset']);
105109
const singerList = getState().getIn(['singers', 'singerList']).toJS();
106-
getSingerListRequest(category, alpha, pageCount).then(res => {
110+
getSingerListRequest(category, alpha, offset).then(res => {
107111
const data = [...singerList, ...res.artists];
108112
dispatch(changeSingerList(data));
109113
dispatch(changePullUpLoading(false));
114+
dispatch(changeListOffset(data.length));
110115
}).catch(() => {
111116
console.log('歌手数据获取失败');
112117
});
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
export const CHANGE_CATOGORY = 'home/singers/CHANGE_CATEGORY';
22
export const CHANGE_ALPHA = 'home/singers/CHANGE_ALPHA';
33
export const CHANGE_SINGER_LIST = 'home/singers/CHANGE_SINGER_LIST';
4-
export const CHANGE_PAGE_COUNT = 'home/singers/PAGE_COUNT';
4+
export const CHANGE_LIST_OFFSET = 'home/singers/CHANGE_LIST_OFFSET';
55
export const CHANGE_ENTER_LOADING = 'home/singers/ENTER_LOADING';
66
export const CHANGE_PULLUP_LOADING = 'home/singers/PULLUP_LOADING';
77
export const CHANGE_PULLDOWN_LOADING = 'home/singers/PULLDOWN_LOADING';

src/application/Singers/store/reducer.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const defaultState = fromJS({
88
enterLoading: true,
99
pullUpLoading: false,
1010
pullDownLoading: false,
11-
pageCount: 0
11+
listOffset: 0, // 请求列表的偏移不是page,是个数
1212
})
1313

1414
export default (state = defaultState, action) => {
@@ -19,8 +19,8 @@ export default (state = defaultState, action) => {
1919
return state.set('category', action.data);
2020
case actionTypes.CHANGE_SINGER_LIST:
2121
return state.set('singerList', action.data);
22-
case actionTypes.CHANGE_PAGE_COUNT:
23-
return state.set('pageCount', action.data);
22+
case actionTypes.CHANGE_LIST_OFFSET:
23+
return state.set('listOffset', action.data);
2424
case actionTypes.CHANGE_ENTER_LOADING:
2525
return state.set('enterLoading', action.data);
2626
case actionTypes.CHANGE_PULLUP_LOADING:

0 commit comments

Comments
 (0)