Deep compare tags for hashtag column reload (#9297)
* Deep compare tags for hashtag column reload * Don't use global lodash
This commit is contained in:
		
							parent
							
								
									9311430ed7
								
							
						
					
					
						commit
						4fdefffb99
					
				| 
						 | 
					@ -9,6 +9,7 @@ import { expandHashtagTimeline, clearTimeline } from '../../actions/timelines';
 | 
				
			||||||
import { addColumn, removeColumn, moveColumn } from '../../actions/columns';
 | 
					import { addColumn, removeColumn, moveColumn } from '../../actions/columns';
 | 
				
			||||||
import { FormattedMessage } from 'react-intl';
 | 
					import { FormattedMessage } from 'react-intl';
 | 
				
			||||||
import { connectHashtagStream } from '../../actions/streaming';
 | 
					import { connectHashtagStream } from '../../actions/streaming';
 | 
				
			||||||
 | 
					import { isEqual } from 'lodash';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const mapStateToProps = (state, props) => ({
 | 
					const mapStateToProps = (state, props) => ({
 | 
				
			||||||
  hasUnread: state.getIn(['timelines', `hashtag:${props.params.id}`, 'unread']) > 0,
 | 
					  hasUnread: state.getIn(['timelines', `hashtag:${props.params.id}`, 'unread']) > 0,
 | 
				
			||||||
| 
						 | 
					@ -100,7 +101,7 @@ class HashtagTimeline extends React.PureComponent {
 | 
				
			||||||
  componentWillReceiveProps (nextProps) {
 | 
					  componentWillReceiveProps (nextProps) {
 | 
				
			||||||
    const { dispatch, params } = this.props;
 | 
					    const { dispatch, params } = this.props;
 | 
				
			||||||
    const { id, tags } = nextProps.params;
 | 
					    const { id, tags } = nextProps.params;
 | 
				
			||||||
    if (id !== params.id || tags !== params.tags) {
 | 
					    if (id !== params.id || !isEqual(tags, params.tags)) {
 | 
				
			||||||
      this._unsubscribe();
 | 
					      this._unsubscribe();
 | 
				
			||||||
      this._subscribe(dispatch, id, tags);
 | 
					      this._subscribe(dispatch, id, tags);
 | 
				
			||||||
      this.props.dispatch(clearTimeline(`hashtag:${id}`));
 | 
					      this.props.dispatch(clearTimeline(`hashtag:${id}`));
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue