반응형
문제
모달창에 열때 이미지 주소를 디비에서 가져와야 한다.
이미지 주소를 가져오는 것보다 모달창 열리는 속도가 빨라서 이미지 없이 모달창 켜진다.
class Template extends React.Component {
constructor(props) {
super(props);
this.state = {
modalVisible: false,
imgUrl:''
};
}
함수
toggleModal(rowData) {
if( this.state.modalVisible === true )
{
this.setState({ modalVisible: false });
} else{
this.setState({ imgUrl : `/static${rowData.cont_val}` },()=>{
this.setState({ modalVisible: true });
});
}
}
setState를 비동기 처리해줬다.
<>
<Button
onClick={ () => {
}
}
style={{ backgroundColor: "#6c757d", color: "white" }}
>
사진
</Button>
<Modal className='screenModal' bodyStyle={{padding:'0px',
fontSize: '24px',
margin:'0px' ,boxSizing: 'border-box',
}} width={'10vmin'} closable={false} visible={this.state.modalVisible} onCancel={()=> this.toggleModal(rowData)} footer={null} >
<div style={{backgroundColor:'#1C2E5A', paddingLeft:'20px',paddingTop:'10px',color:'white',width:"600px",height:"55px" , boxSizing:'border-box',margin:'0px'}}> 사진</div>
<img src={this.state.imgUrl} className='screen' style={{width:"600px", boxSizing: 'border-box'}} />
</Modal>
</>
반응형
'Frontend > React & React.Native &Next.js' 카테고리의 다른 글
에러) useEffect 무한루프(infinite useEffect) (0) | 2021.11.26 |
---|---|
JSX (0) | 2021.11.21 |
리액트 함수 컴포넌트 스닛펫 단축키 (0) | 2021.09.27 |
textinput 에 text 삭제하는 방법 (0) | 2021.07.17 |
React Native)리액트 네이티브 자동 하이픈 기능 (핸드폰 번호) (0) | 2021.07.15 |