Fix Web UI making duplicate search queries when scrolling (#26959)
This commit is contained in:
		@@ -14,6 +14,7 @@ import {
 | 
			
		||||
  SEARCH_SHOW,
 | 
			
		||||
  SEARCH_EXPAND_REQUEST,
 | 
			
		||||
  SEARCH_EXPAND_SUCCESS,
 | 
			
		||||
  SEARCH_EXPAND_FAIL,
 | 
			
		||||
  SEARCH_HISTORY_UPDATE,
 | 
			
		||||
} from '../actions/search';
 | 
			
		||||
 | 
			
		||||
@@ -54,6 +55,7 @@ export default function search(state = initialState, action) {
 | 
			
		||||
      map.set('type', action.searchType);
 | 
			
		||||
    });
 | 
			
		||||
  case SEARCH_FETCH_FAIL:
 | 
			
		||||
  case SEARCH_EXPAND_FAIL:
 | 
			
		||||
    return state.set('isLoading', false);
 | 
			
		||||
  case SEARCH_FETCH_SUCCESS:
 | 
			
		||||
    return state.withMutations(map => {
 | 
			
		||||
@@ -68,10 +70,10 @@ export default function search(state = initialState, action) {
 | 
			
		||||
      map.set('isLoading', false);
 | 
			
		||||
    });
 | 
			
		||||
  case SEARCH_EXPAND_REQUEST:
 | 
			
		||||
    return state.set('type', action.searchType);
 | 
			
		||||
    return state.set('type', action.searchType).set('isLoading', true);
 | 
			
		||||
  case SEARCH_EXPAND_SUCCESS:
 | 
			
		||||
    const results = action.searchType === 'hashtags' ? ImmutableOrderedSet(fromJS(action.results.hashtags)) : action.results[action.searchType].map(item => item.id);
 | 
			
		||||
    return state.updateIn(['results', action.searchType], list => list.union(results));
 | 
			
		||||
    return state.updateIn(['results', action.searchType], list => list.union(results)).set('isLoading', false);
 | 
			
		||||
  case SEARCH_HISTORY_UPDATE:
 | 
			
		||||
    return state.set('recent', ImmutableOrderedSet(fromJS(action.recent)));
 | 
			
		||||
  default:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user