Browse Source

impv selectedHandler with useCallback

kaori 3 years ago
parent
commit
ee0da573a3

+ 4 - 4
packages/app/src/components/Admin/Customize/CustomizeThemeOptions.jsx

@@ -1,4 +1,4 @@
-import React from 'react';
+import React, { useCallback } from 'react';
 
 import { useTranslation } from 'next-i18next';
 import PropTypes from 'prop-types';
@@ -55,10 +55,10 @@ const CustomizeThemeOptions = (props) => {
   const { mutate: mutateGrowiTheme } = useGrowiTheme();
   const { currentLayout, currentTheme } = adminCustomizeContainer.state;
 
-  const selectedHandler = (themeName) => {
+  const selectedHandler = useCallback((themeName) => {
     adminCustomizeContainer.switchThemeType(themeName);
-    mutateGrowiTheme(themeName);
-  };
+    mutateGrowiTheme(themeName, false);
+  }, [adminCustomizeContainer, mutateGrowiTheme]);
 
   return (
     <div id="themeOptions" className={`${currentLayout === 'kibela' && 'disabled'}`}>

+ 1 - 0
packages/app/src/components/Admin/Customize/CustomizeThemeSetting.tsx

@@ -20,6 +20,7 @@ const CustomizeThemeSetting = (props: Props): JSX.Element => {
   const { t } = useTranslation();
 
   const submitHandler = useCallback(async() => {
+    console.log('adminCustomizeContainer_currentTheme', adminCustomizeContainer.state.currentTheme);
     try {
       await adminCustomizeContainer.updateCustomizeTheme();
       toastSuccess(t('toaster.update_successed', { target: t('admin:customize_setting.theme') }));