From 04314f11f846efb363d788f926ab2387f237e0e4 Mon Sep 17 00:00:00 2001 From: Gustav Hansen Date: Fri, 23 Jun 2023 15:06:39 +0200 Subject: [PATCH] Fix: Fix infinite rendering loop of role edit page --- .../pages/Roles/ProtectedEditPage/index.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/ProtectedEditPage/index.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/ProtectedEditPage/index.js index 2940296a4e..b3c62d16fe 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/ProtectedEditPage/index.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/Roles/ProtectedEditPage/index.js @@ -9,13 +9,20 @@ import EditPage from '../EditPage'; const ProtectedEditPage = () => { const permissions = useSelector(selectAdminPermissions); + + // TODO: this is necessary because otherwise we run into an + // infinite rendering loop + const permissionsMemoized = React.useMemo(() => { + return { + read: permissions.settings.roles.read, + update: permissions.settings.roles.update, + }; + }, [permissions.settings.roles.read, permissions.settings.roles.update]); + const { isLoading, allowedActions: { canRead, canUpdate }, - } = useRBAC({ - read: permissions.settings.roles.read, - update: permissions.settings.roles.update, - }); + } = useRBAC(permissionsMemoized); if (isLoading) { return ;