mirror of
https://github.com/mastodon/mastodon.git
synced 2024-12-23 15:42:34 +01:00
parent
bd4099d976
commit
91582937f3
2 changed files with 26 additions and 2 deletions
|
@ -35,7 +35,19 @@ export default class ColumnBackButton extends React.PureComponent {
|
||||||
if (multiColumn) {
|
if (multiColumn) {
|
||||||
return component;
|
return component;
|
||||||
} else {
|
} else {
|
||||||
return createPortal(component, document.getElementById('tabs-bar__portal'));
|
// The portal container and the component may be rendered to the DOM in
|
||||||
|
// the same React render pass, so the container might not be available at
|
||||||
|
// the time `render()` is called.
|
||||||
|
const container = document.getElementById('tabs-bar__portal');
|
||||||
|
if (container === null) {
|
||||||
|
// The container wasn't available, force a re-render so that the
|
||||||
|
// component can eventually be inserted in the container and not scroll
|
||||||
|
// with the rest of the area.
|
||||||
|
this.forceUpdate();
|
||||||
|
return component;
|
||||||
|
} else {
|
||||||
|
return createPortal(component, container);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -178,7 +178,19 @@ class ColumnHeader extends React.PureComponent {
|
||||||
if (multiColumn || placeholder) {
|
if (multiColumn || placeholder) {
|
||||||
return component;
|
return component;
|
||||||
} else {
|
} else {
|
||||||
return createPortal(component, document.getElementById('tabs-bar__portal'));
|
// The portal container and the component may be rendered to the DOM in
|
||||||
|
// the same React render pass, so the container might not be available at
|
||||||
|
// the time `render()` is called.
|
||||||
|
const container = document.getElementById('tabs-bar__portal');
|
||||||
|
if (container === null) {
|
||||||
|
// The container wasn't available, force a re-render so that the
|
||||||
|
// component can eventually be inserted in the container and not scroll
|
||||||
|
// with the rest of the area.
|
||||||
|
this.forceUpdate();
|
||||||
|
return component;
|
||||||
|
} else {
|
||||||
|
return createPortal(component, container);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue