[categorypanel] setTimeout 중첩부분 처리

- 중첩제거. clear추가.
This commit is contained in:
junghoon86.park
2024-04-01 17:04:32 +09:00
parent 99a8b93a95
commit 2c814b906c

View File

@@ -72,7 +72,10 @@ export default function CategoryPanel({ panelInfo }) {
topShowInfo,
} = categoryDatas || {};
const [tab, setTab] = useState(panelInfo.tab ? panelInfo.tab : 0);
const [tab, setTab] = useState(
panelInfo.tab !== undefined ? panelInfo.tab : 0
);
const [dropDownTab, setDropDownTab] = useState(
panelInfo.dropDownTab ? panelInfo.dropDownTab : 0
);
@@ -167,7 +170,7 @@ export default function CategoryPanel({ panelInfo }) {
setContainerLastFocusedElement(null, [SpotlightIds.TBODY]);
setContainerLastFocusedElement(null, [SpotlightIds.SHOW_PRODUCTS_BOX]);
setContainerLastFocusedElement(null, [SpotlightIds.CATEGORY_CONTENTS_BOX]);
Spotlight.focus(`tab-${tab}`);
Spotlight.focus("tab-" + tab);
}, [panelInfos]);
useEffect(() => {
@@ -177,25 +180,25 @@ export default function CategoryPanel({ panelInfo }) {
const handleTopButtonClick = useCallback(() => {
scrollTop();
setContainerLastFocusedElement(null, [SpotlightIds.CATEGORY_CONTENTS_BOX]);
Spotlight.focus(`tab-${tab}`);
Spotlight.focus("tab-" + tab);
}, [scrollTop, tab]);
useEffect(() => {
setTimeout(() => {
const timeoutId = setTimeout(() => {
if (panelInfo.tab) {
setTab(panelInfo.tab);
}
if (panelInfo.dropDownTab) {
setDropDownTab(panelInfo.dropDownTab);
}
setTimeout(() => {
if (panelInfo.currentSpot) {
Spotlight.focus(panelInfo.currentSpot);
}
}, 100);
if (panelInfo.currentSpot) {
Spotlight.focus(panelInfo.currentSpot);
}
}, 500);
//수정
return () => {
clearTimeout(timeoutId);
const c = Spotlight.getCurrent();
let targetSpotlightId = null;
let tabNum = null;
@@ -224,7 +227,7 @@ export default function CategoryPanel({ panelInfo }) {
})
);
};
}, []);
}, [panelInfo]);
return (
<TPanel>
<THeader title="Category" />