mirror of
https://github.com/flarum/core.git
synced 2025-07-21 16:51:34 +02:00
PERF: more efficient retaining of discussion list items
This commit is contained in:
@@ -44,6 +44,10 @@ export default class DiscussionListItem extends Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
view() {
|
view() {
|
||||||
|
const retain = this.subtree.retain();
|
||||||
|
|
||||||
|
if (retain) return retain;
|
||||||
|
|
||||||
const discussion = this.props.discussion;
|
const discussion = this.props.discussion;
|
||||||
const startUser = discussion.startUser();
|
const startUser = discussion.startUser();
|
||||||
const isUnread = discussion.isUnread();
|
const isUnread = discussion.isUnread();
|
||||||
@@ -52,7 +56,7 @@ export default class DiscussionListItem extends Component {
|
|||||||
const relevantPosts = this.props.params.q ? discussion.relevantPosts() : [];
|
const relevantPosts = this.props.params.q ? discussion.relevantPosts() : [];
|
||||||
const controls = DiscussionControls.controls(discussion, this).toArray();
|
const controls = DiscussionControls.controls(discussion, this).toArray();
|
||||||
|
|
||||||
return this.subtree.retain() || (
|
return (
|
||||||
<div className={'DiscussionListItem ' + (this.active() ? 'active' : '')}>
|
<div className={'DiscussionListItem ' + (this.active() ? 'active' : '')}>
|
||||||
|
|
||||||
{controls.length ? Dropdown.component({
|
{controls.length ? Dropdown.component({
|
||||||
|
Reference in New Issue
Block a user