Неперехваченная ошибка типа: не удается прочитать свойство ‘width’ неопределенного значения в Cropper.zoomTo

#javascript #reactjs #cropperjs

#javascript #reactjs #cropperjs

Вопрос:

Я использую react-cropper версии 2.0.0. Я действительно не понимаю проблему. Это происходит в методе zoomTo cropperjs. Я инициализировал экземпляр cropper в bootstrap modal. Я вижу, что cropper инициализирован правильно, а также успешно отображает canvasData, но он по-прежнему выдает некоторую ошибку при разборе функции zoomTo в cropperjs. Не удается получить canvasData

Вот мой код реакции

 class CropperModal extends React.Component{

       constructor(){
        super(); 
        this.state={
         
            cropperInstance: '',
            sourceImage:'',
cropperSize: '',
          
            
        }
      
        this.onCropperInit = this.onCropperInit.bind(this);
     
    }        
    UNSAFE_componentWillReceiveProps(newProps){
         let image = new Image();
         image.src = newProps.originalImage;
         const _this = this;
         image.onload = function () {
            
             if (this.width <= this.height) {
                 _this.setState({
                     sourceImage: newProps.originalImage,
                     cropperSize: {
                         height: "100%",
                         width: "auto"
                     },
                 })
             } else {
                 _this.setState({
                     sourceImage: newProps.originalImage,
                     cropperSize: {
                         height: "auto",
                         width: "100%"
                     },    
                 })
             }
onCropperInit(cropper) {
        this.setState({
            cropperInstance: cropper    
        })
    
    console.log(cropper)
    }
        render(){
         
            return(
            
                    <Modal show={this.props.showModal} onHide={this.props.hideModal} dialogClassName="ModalSize" onEnter={this.props.onEnter}>
                    <Modal.Header closeButton>
                        Image adjustment
                    </Modal.Header>
                    <Modal.Body className="modalBodyHeight">
                        <Row>
                            <Col lg={6} className="cropperImage">
                               <Cropper  onInitialized={this.onCropperInit} src={this.state.sourceImage} style={{height: this.state.cropperSize.height,width: this.state.cropperSize.width}} aspectRatio="1.4" guides={true}  dragMode="move"  />
                            
                        </Col>
                            <Col lg={3}>
           
                                <div className="imgPreview"> 
                                </div>
                                
                                
                            </Col>
                           
                        </Row>  
                        </Modal.Body>
                   
                    </Modal>
                    
            )
        }
    }

export default CropperModal;
  

введите описание изображения здесь