

const [isSearching, setIsSearching] = useState(false);
const [isPicking, setIsPicking] = useState(false);
const [isAdding, setIsAdding] = useState(false);
const [isEditing, setIsEditing] = useState(false);
const [isDeleting, setIsDeleting] = useState(false);
const handleSearchFieldOpen = () => setIsSearching(true);
const handleSearchFieldClose = () => setIsSearching(false);
const handleTimePickerOpen = () => setIsPicking(true);
const handleTimePickerClose = () => setIsPicking(false);
const handleAddRecordOpen = () => setIsAdding(true);
const handleAddRecordClose = () => setIsAdding(false);
const handleEditRecordOpen = () => setIsEditing(true);
const handleEditRecordClose = () => setIsEditing(false);
const handleDeleteRecordOpen = () => setIsDeleting(true);
const handleDeleteRecordClose = () => setIsDeleting(false);
<popup onClose={handleEditRecordClose} />
const [state, setState] = useState({
isSearching: false,
isPicking: false,
isAdding: false,
isEditing: false,
isDeleting: false,
});
const openState = (key: string) =>
setState((prev) => ({ ...prev, [key]: true }));
const closeState = (key: any) =>
setState((prev) => ({ ...prev, [key]: false }));
<popup onClose={() => closeState('isEditing')} />
정리하고보니
핸들러를 건너뛴 그냥..
한 곳에 모으기만 한 코드 같다