From eb815d2ed16e495b42818c5640cc936cc4fa9611 Mon Sep 17 00:00:00 2001 From: Jordan Eldredge Date: Mon, 16 Sep 2019 09:05:35 -0700 Subject: [PATCH] Avoid rerender cascade Previously a `js_trigger` event in MMD3's resting state would take about 40ms to render. Now it takes about 4ms. --- modern/src/App.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modern/src/App.js b/modern/src/App.js index 23c24228..429707cf 100644 --- a/modern/src/App.js +++ b/modern/src/App.js @@ -613,7 +613,7 @@ function XmlChildren({ node }) { } // Given a skin XML node, pick which component to use, and render it. -function XmlNode({ node }) { +const XmlNode = React.memo(({ node }) => { let { name } = node; if (name == null) { // name is null is likely a comment @@ -634,7 +634,7 @@ function XmlNode({ node }) { useJsUpdates(node); const Component = NODE_NAME_TO_COMPONENT[name] || DummyComponent; return ; -} +}); function getSkinUrlFromQueryParams() { const searchParams = new URLSearchParams(window.location.search);