React Hooks 규칙 위반 수정 - useSetOnRightClick
문제: - useSetOnRightClick 훅이 useEffect 안에서 호출되어 에러 발생 - "Invalid hook call" 에러 발생 수정 사항: - useSetOnRightClick을 컴포넌트 최상위 레벨로 이동 - 조건부로 함수 또는 undefined를 전달하도록 변경 - useSetOnRightClick 훅의 의존성 배열에 fn 추가 - fn이 undefined일 때도 올바르게 처리하도록 개선 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -54,11 +54,8 @@ export const UserLoginAuthInfoPage = () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// 현재 로그인한 사용자가 아닌 경우에만 삭제 버튼 표시
|
// 현재 로그인한 사용자가 아닌 경우에만 삭제 버튼 표시
|
||||||
useEffect(() => {
|
const isDeleteAllowed = usrid && currentUsrid && usrid !== currentUsrid;
|
||||||
if (usrid && currentUsrid && usrid !== currentUsrid) {
|
useSetOnRightClick(isDeleteAllowed ? handleDeleteUser : undefined);
|
||||||
useSetOnRightClick(() => handleDeleteUser);
|
|
||||||
}
|
|
||||||
}, [usrid, currentUsrid]);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|||||||
@@ -22,11 +22,15 @@ export const useSetOnBack = (fn: any) => {
|
|||||||
export const useSetOnRightClick = (fn: any) => {
|
export const useSetOnRightClick = (fn: any) => {
|
||||||
const { setOnRightClick } = useSubLayoutContext();
|
const { setOnRightClick } = useSubLayoutContext();
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setOnRightClick(() => fn);
|
if (fn) {
|
||||||
|
setOnRightClick(() => fn);
|
||||||
|
} else {
|
||||||
|
setOnRightClick(() => undefined);
|
||||||
|
}
|
||||||
return () => {
|
return () => {
|
||||||
setOnRightClick(() => undefined);
|
setOnRightClick(() => undefined);
|
||||||
};
|
};
|
||||||
}, [setOnRightClick]);
|
}, [fn, setOnRightClick]);
|
||||||
return { setOnRightClick };
|
return { setOnRightClick };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user