Reactjs 如何从父对象打开对话框材质ui

Reactjs 如何从父对象打开对话框材质ui,reactjs,react-hooks,Reactjs,React Hooks,我有一个父组件,它有一个抽屉和一些图标按钮,我希望当我首先单击图标按钮时,子组件加载对话框,然后如果接受对话框关闭,子组件加载的其余部分 父组件 <Child sendId = {id} OpenDialog={true}/> const handleClose = () => { OpenDialog = false }; return OpenDialog ? <Dialog open={OpenDialog} onClose={

我有一个父组件,它有一个抽屉和一些图标按钮,我希望当我首先单击图标按钮时,子组件加载对话框,然后如果接受对话框关闭,子组件加载的其余部分
父组件

<Child sendId = {id} OpenDialog={true}/>
const handleClose = () => {
    OpenDialog = false
};
return 
    OpenDialog ? 
        <Dialog open={OpenDialog} onClose={handleClose} >
            some Content
        </Dialog>
    : <div>
        rest of child componet
        </div>
const [openDialog, setOpenDialog] = useState(false);
<Child sendId = {id} openDialog={openDialog} setOpenDialog={setOpenDialog} />

子组件

<Child sendId = {id} OpenDialog={true}/>
const handleClose = () => {
    OpenDialog = false
};
return 
    OpenDialog ? 
        <Dialog open={OpenDialog} onClose={handleClose} >
            some Content
        </Dialog>
    : <div>
        rest of child componet
        </div>
const [openDialog, setOpenDialog] = useState(false);
<Child sendId = {id} openDialog={openDialog} setOpenDialog={setOpenDialog} />
consthandleclose=()=>{
OpenDialog=false
};
返回
OpenDialog?
一些内容
: 
孩子的其余部分

但是它总是打开的,我想如果我关闭doalog并单击父组件,你必须控制父组件中对话框的状态

家长

<Child sendId = {id} OpenDialog={true}/>
const handleClose = () => {
    OpenDialog = false
};
return 
    OpenDialog ? 
        <Dialog open={OpenDialog} onClose={handleClose} >
            some Content
        </Dialog>
    : <div>
        rest of child componet
        </div>
const [openDialog, setOpenDialog] = useState(false);
<Child sendId = {id} openDialog={openDialog} setOpenDialog={setOpenDialog} />
const[openDialog,setOpenDialog]=useState(false);
儿童

const handleClose = () => {
    setOpenDialog(false)
};

return 
    OpenDialog ? 
        <Dialog open={openDialog} onClose={handleClose} >
            some Content
        </Dialog>
    : <div>
        rest of child componet
        </div>
consthandleclose=()=>{
setOpenDialog(错误)
};
返回
OpenDialog?
一些内容
: 
孩子的其余部分