diff options
| author | Henry Jameson <me@hjkos.com> | 2021-06-11 11:05:28 +0300 |
|---|---|---|
| committer | Henry Jameson <me@hjkos.com> | 2021-06-11 11:05:28 +0300 |
| commit | 255f47fe56a1f9db2ca669aff1d9bd9cdde5dd8b (patch) | |
| tree | ab618bc79deef10ce22ebcfd1abbbca26f33ef90 /src/components/rich_content/rich_content.jsx | |
| parent | f883d2f75cd3c404115bd2c98b6d3c8d7ff10ef6 (diff) | |
fix infinite loop
Diffstat (limited to 'src/components/rich_content/rich_content.jsx')
| -rw-r--r-- | src/components/rich_content/rich_content.jsx | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/components/rich_content/rich_content.jsx b/src/components/rich_content/rich_content.jsx index 8972c494..f7fa4dce 100644 --- a/src/components/rich_content/rich_content.jsx +++ b/src/components/rich_content/rich_content.jsx @@ -42,7 +42,7 @@ export default Vue.component('RichContent', { // NEVER EVER TOUCH DATA INSIDE RENDER render (h) { // Pre-process HTML - const { newHtml: html, lastMentions } = preProcessPerLine(this.html, this.greentext, this.hideLastMentions) + const { newHtml: html, lastMentions } = preProcessPerLine(this.html, this.greentext, this.hideMentions) const firstMentions = [] // Mentions that appear in the beginning of post body const lastTags = [] // Tags that appear at the end of post body const writtenMentions = [] // All mentions that appear in post body @@ -187,6 +187,13 @@ export default Vue.component('RichContent', { return item } + // DO NOT USE SLOTS they cause a re-render feedback loop here. + // slots updated -> rerender -> emit -> update up the tree -> rerender -> ... + // at least until vue3? + const result = <span class="RichContent"> + { convertHtmlToTree(html).map(processItem).reverse().map(processItemReverse).reverse() } + </span> + const event = { firstMentions, lastMentions, @@ -195,12 +202,6 @@ export default Vue.component('RichContent', { writtenTags } - const result = <span class="RichContent"> - { this.$slots.prefix } - { convertHtmlToTree(html).map(processItem).reverse().map(processItemReverse).reverse() } - { this.$slots.suffix } - </span> - // DO NOT MOVE TO UPDATE. BAD IDEA. this.$emit('parseReady', event) |
