React + Material-UI로 확인 다이얼로그를 작성해 보았다.
10140 단어 Reactmaterial-ui
React 괄호 좋은 대화 만들기
최근 마침내 React를 본격적으로 처음으로
입력 다이얼로그로부터의 확인 다이얼로그라고 하는 것이 생각외 깨끗하게 할 수 있었으므로
이것은 다이얼로그 역사에 새기려고 생각하고, Github 박물관에 기증해 왔습니다.
■React & Material-UI CommonDialog
데모도 붙이지 않고 기사를 세우면,
제대로 준비해 왔습니다.
■DEMO
여기 CodeSandbox 씨를 사용하였습니다.
■CodeSandbox
코드 해설
구성 요소
<CommonDialog ... />
import React, {useEffect} from 'react';
import Button from '@material-ui/core/Button';
import Dialog from '@material-ui/core/Dialog';
import DialogActions from '@material-ui/core/DialogActions';
import DialogContent from '@material-ui/core/DialogContent';
const CommonDialog: React.FunctionComponent<
{ msg: any, isOpen: any, doYes: any, doNo: any }
> = ({msg, isOpen, doYes, doNo}) => {
const [open, setOpen] = React.useState(false)
useEffect(() => {
setOpen(isOpen)
}, [isOpen])
return (
<div>
<Dialog
open={open}
keepMounted
onClose={() => doNo()}
aria-labelledby="common-dialog-title"
aria-describedby="common-dialog-description"
>
<DialogContent>
{msg}
</DialogContent>
<DialogActions>
<Button onClick={() => doNo()} color="primary">
No
</Button>
<Button onClick={() => doYes()} color="primary">
Yes
</Button>
</DialogActions>
</Dialog>
</div>
)
}
export default CommonDialog
구성 요소 배치
<CommonDialog
msg={"Message"}
isOpen={commDlg}
doYes={execute}
doNo={() => {setCommDlg(false)}}
/>
용법
const FormDialog = () => {
const [commDlg, setCommDlg] = React.useState(false)
...
const execute = () => {
}
return (
...
<CommonDialog
msg={"登録しますか?"}
isOpen={commDlg}
doYes={execute}
doNo={() => {setCommDlg(false)}}
/>
...
)
}
export default FormDialog
특정 컴포넌트에 동작과 상태를 갖게 하여 조합으로 뷰를 구성합니다.
이 React의 사상은 확실히 오는 것이 있습니다.
Reference
이 문제에 관하여(React + Material-UI로 확인 다이얼로그를 작성해 보았다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/pepaperon_p/items/4e1b25e1e0ebd54268fa텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)