diff --git a/client/homebrew/brewRenderer/brewRenderer.jsx b/client/homebrew/brewRenderer/brewRenderer.jsx index 48f155820..8f8752a5b 100644 --- a/client/homebrew/brewRenderer/brewRenderer.jsx +++ b/client/homebrew/brewRenderer/brewRenderer.jsx @@ -1,7 +1,7 @@ /*eslint max-lines: ["warn", {"max": 300, "skipBlankLines": true, "skipComments": true}]*/ require('./brewRenderer.less'); const React = require('react'); -const { useState, useRef, useCallback } = React; +const { useState, useRef, useCallback, useMemo } = React; const _ = require('lodash'); const MarkdownLegacy = require('naturalcrit/markdownLegacy.js'); @@ -44,7 +44,7 @@ const BrewPage = (props)=>{ //v=====--------------------< Brew Renderer Component >-------------------=====v// -const renderedPages = []; +let renderedPages = []; let rawPages = []; const BrewRenderer = (props)=>{ @@ -122,6 +122,7 @@ const BrewRenderer = (props)=>{ }; const renderPages = ()=>{ + console.log("renderPages") if(props.errors && props.errors.length) return renderedPages; @@ -179,6 +180,9 @@ const BrewRenderer = (props)=>{ styleObject.backgroundImage = `url("data:image/svg+xml;utf8,")`; } + const renderedStyle = useMemo(()=> renderStyle(), [props.style.length, props.themeBundle]); + renderedPages = useMemo(() => renderPages(), [props.text.length]); + return ( <> {/*render dummy page while iFrame is mounting.*/} @@ -214,9 +218,9 @@ const BrewRenderer = (props)=>{ {state.isMounted && <> - {renderStyle()} + {renderedStyle}