我正试图根据this section的文档重新创建material UI自定义对话框组件,我不明白为什么使用回调函数onClose条件来显示DialogTitle中的IconButton组件:

<DialogTitle sx={{ m: 0, p: 2 }} {...other}>
      {children}
      {onClose ? (
        <IconButton
          aria-label="close"
          onClick={onClose}
          sx={{
            position: 'absolute',
            right: 8,
            top: 8,
            color: (theme) => theme.palette.grey[500],
          }}
        >
          <CloseIcon />
        </IconButton>
      ) : null}
    </DialogTitle>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>

据我所知,如果状态设置正确,IconButton总是被渲染的.我只是想知道在三元运算符中使用onClick回调函数是否有特定的原因或模式?我试图完全删除三元运算符,但所有操作都是一样的.

推荐答案

如果没有onClose函数,按钮就失go 了它的全部功能,我的意思是它的全部目的就是运行回调.因此,如果没有回调,则不要显示按钮.

Javascript相关问答推荐

橡皮擦完全让画布变成白色

如何才能拥有在jQuery终端中执行命令的链接?

调用removeEvents不起作用

为什么我的列表直到下一次提交才更新值/onChange

康威的生活游戏规则在我的Javascript版本中不起作用.''我做错了什么?

用JavaScript复制C#CRC 32生成器

将本机导航路由react 到导航栏中未列出的屏幕?

我的服务工作器没有连接到我的Chrome扩展中的内容脚本.我该怎么解决这个问题?

html + java script!需要帮助来了解为什么我得到(无效的用户名或密码)

如何从URL获取令牌?

如何在模块层面提供服务?

无法使用单击按钮时的useState将数据从一个页面传递到另一个页面

使用POST请求时,Req.Body为空

在开发期间,Web浏览器如何运行&qot;.jsx&qot;文件?

Socket.IO在刷新页面时执行函数两次

自动滚动功能在当前图像左侧显示上一张图像的一部分

我为什么要使用回调而不是等待?

需要RTK-在ReactJS中查询多个组件的Mutations 数据

有角粘桌盒阴影

将字符串解释为数字;将其重新编码为另一个基数