Fix an error when ancestors get loaded before the status itself (#5312)

When ancestors get loaded, we scroll to the target status (i.e. skip
ancestors). However, ancestors may get loaded before the status itself,
then it causes TypeError because `this.node` is undefined yet.

Since we don't show anything until the status gets loaded, we don't need
to scroll to the target status in this time. If we get the status itslef
later, it causes `componentDidUpdate` and scrolling correctly.
This commit is contained in:
unarist 2017-10-11 18:25:15 +09:00 committed by Eugen Rochko
parent 0b8b9e5a0d
commit 2b29f5b5f1

View file

@ -240,9 +240,9 @@ export default class Status extends ImmutablePureComponent {
} }
componentDidUpdate () { componentDidUpdate () {
const { ancestorsIds } = this.props; const { status, ancestorsIds } = this.props;
if (ancestorsIds && ancestorsIds.size > 0) { if (status && ancestorsIds && ancestorsIds.size > 0) {
const element = this.node.querySelectorAll('.focusable')[ancestorsIds.size]; const element = this.node.querySelectorAll('.focusable')[ancestorsIds.size];
element.scrollIntoView(); element.scrollIntoView();
} }