안녕하세요 제로초님. 수강 중인 강의 내용과는 별개로 질문 좀 드려도 괜찮을까요?
제로초님 react nodebird 수강 중 강의 내용을 복습삼아 개인적으로 프로젝트를 진행해보는 중인데요, 초기에 레이아웃 구조를 만드는 중에 문제가 있어 질문드립니다.
현재 next 의 _app.js 에 AppLayout을 넣어주는 구조는 동일하게 가져갔으나 메뉴 중 user 라는 메뉴를 클릭 시 modal 을 출력하게 하여 로그인 폼을 따로 보여주고 싶은데요, AppLayout.js 코드 내에 아래와 같이 modal을 넣어주었고, modal 출력은 하는데 cancel 혹은 OK 버튼 클릭 시 useState로 modal의 visible을 false로 바꿔 modal을 닫는 동작이 안되네요 
import React, { useState, useCallback } from "react";
import { Menu, Layout, Icon, Col, Modal } from "antd";
import PropTypes from "prop-types";
const AppLayout = ({ children }) => {
  const { SubMenu } = Menu;
  const { Header, Sider } = Layout;
  const [modalVisible, setModalVisible] = useState(false);
  const showModal = useCallback(() => {
    setModalVisible(true);
    console.log("showModal: " + modalVisible);
  }, []);
  const handleModal = useCallback((e) => {
    setModalVisible(false);
    console.log("handleModal: " + modalVisible);
  }, []);
  return (
    <Layout>
      <Header className="header" style={{ backgroundColor: "#001a4d" }}>
        <div className="logo" />
        <Menu
          theme="dark"
          mode="horizontal"
          style={{ lineHeight: "64px" }}
        ></Menu>
        <h1 style={{ color: "white" }}></h1>
      </Header>
      <Col xs={24} md={6}>
        <Layout style={{ minHeight: "100vh" }}>
          <Sider width={200} collapsible style={{ backgroundColor: "#ffffff" }}>
            <Menu
              mode="inline"
              defaultSelectedKeys={["1"]}
              defaultOpenKeys={["sub1"]}
            >
              <Menu.Item key="1" onClick={showModal} >
                <Icon type="user" />
                <span>User</span>
{                <Modal
                  title="Login Form"
                  visible={modalVisible}
                  onOk={handleModal}
                  onCancel={handleModal}
                >
                  <p>Some contents</p>
                </Modal>}
              </Menu.Item>
            </Menu>
          </Sider>
        </Layout>
      </Col>
      <Col xs={24} md={18}>
        {children}
      </Col>
    </Layout>
  );
};
AppLayout.propTypes = {
  children: PropTypes.node
};
export default AppLayout;
 
_app.js 에 들어간 AppLayout에서 modal 을 바로 출력하는 것 자체가 잘못된 걸까요? 로그로 modal 출력/cancel버튼 클릭 시 state 값을 확인해보니 false 로만 출력이 됩니다. 혹시 이상한 점이 있을까요??