componentWillReceiveProps (nextProps) {
if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {
+ this._scrolledIntoView = false;
this.props.dispatch(fetchStatus(nextProps.params.statusId));
}
}
}
componentDidUpdate () {
+ if (this._scrolledIntoView) {
+ return;
+ }
+
const { status, ancestorsIds } = this.props;
if (status && ancestorsIds && ancestorsIds.size > 0) {
- const element = this.node.querySelectorAll('.focusable')[ancestorsIds.size];
- element.scrollIntoView();
+ const element = this.node.querySelectorAll('.focusable')[ancestorsIds.size - 1];
+
+ element.scrollIntoView(true);
+ this._scrolledIntoView = true;
}
}