Instanz für Cropperjs kann nicht mit React-Cropper erstellt werden

DeWy Sady

Ich habe die Dokumentation zu Github studiert und versucht, sie anzuwenden.

Das Problem ist - ich kann die Cropper-Instanz nicht initialisieren. Gemäß der Dokumentation müssen wir die Methode onInitialized verwenden. Ich habe das getan, aber ich kann es nicht abfeuern.

Wann sollte ich davon ausgehen, dass es ausgelöst werden soll - Wenn eine Komponente bereitgestellt wird oder wenn ich ein Image hinzufüge? Die Dokumentation ist super verschwommen. Unten ist mein Code. Es scheint, als ob die onCropperInitFunktion nie ausgelöst wurde.

import React from 'react';
import Cropper from 'react-cropper';

export default class Demo extends React.Component{
    
    constructor(){
        super();
        this.state={
            image: "#"
        }
        this._crop = this._crop.bind(this);
        this.onCropperInit = this.onCropperInit.bind(this);
        this.onChange = this.onChange.bind(this)
    }
    
    
 onChange(e) {
     
        e.preventDefault();
        let files;
    
            files = e.target.files;
        const reader = new FileReader();
  
        reader.onload = () => {
            this.setState({
            image: reader.result
            })
        };
        reader.readAsDataURL(files[0]);
    };
    _crop(){
  
    }


onCropperInit(cropper){
console.log("cropper")
    this.cropper = cropper;
}

render(){
    return (
        <div>
         <input type="file" onChange={this.onChange} />
    
        <Cropper src={this.state.image} style={{height:"100vh",width: "90vw"}} aspectRatio={1067/600} guides={true} crop={this._crop} onInitialized={this.onCropperInit} dragMode="move"/>
    </div>
            )
}
}
Bas van der Linden

Du hast recht. Die Github-Dokumentation sagt zu verwenden onInitialized, aber es scheint nicht zu funktionieren.

Zumindest für refden Moment können Sie a verwenden , um die Cropper-Instanz wie folgt abzurufen:

const cropper = React.createRef(null);

class Demo extends React.Component {
  constructor(props) {
    super(props);
    this._crop.bind(this);
  }

  _crop() {
    console.warn(cropper.current.cropper.getCroppedCanvas());
  }

  render() {
    return (
      <Cropper
        src="http://fengyuanchen.github.io/cropper/images/picture.jpg"
        style={{ height: 400, width: '100%' }}
        initialAspectRatio={16 / 9}
        guides={false}
        crop={this._crop}
        ref={cropper}
      />
    );
  }
}

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Instanz von MainViewModel kann nicht mit Hilt erstellt werden

Instanz aus Basisklasse in Lua kann nicht mit Metatable erstellt werden

JsonMappingException: Instanz von kann nicht erstellt werden

Instanz von - Jackson kann nicht erstellt werden

Gcloud-Instanz kann nicht erstellt werden

Instanz von AndroidViewModel kann nicht erstellt werden

Konstruktor für Vorlagentyp kann nicht mit Vorlagentypparameter erstellt werden

Eine abgeleitete Instanz von MonadTrans für newtype kann nicht erstellt werden

Automapper: Instanz des abstrakten Typs für Sammlungen kann nicht erstellt werden

Instanz für Viewcontroller in anderen Viewcontrollern in Swift kann nicht erstellt werden

Die Vorschau für Cropper JS kann nicht angezeigt werden

App kann nicht mit create-react-app erstellt werden

Mit EF Plus IncludeFilter wird der Fehler "Instanz einer Schnittstelle kann nicht erstellt werden" angezeigt

Android - Fehler "Instanz von kann nicht erstellt werden (obwohl mindestens eine Erstellung vorhanden ist)" mit Retrofit

Die Instanz der COM-Klasse kann nicht mit Activator.CreateInstance erstellt werden

GCP Deep Learning VM-Instanz kann nicht mit GPU erstellt werden

Controller kann nicht mit Entity Framework erstellt werden - Metadaten für '' können nicht abgerufen werden

[Koin]: Instanzerstellungsfehler: Instanz für konnte nicht erstellt werden

Instanz einer abstrakten Klasse kann nicht erstellt werden (zufällig)

JSON-Analysefehler: Instanz der Klasse kann nicht erstellt werden

Instanz der ViewModel-Klasse kann nicht erstellt werden

Instanz von ViewModel in Android kann nicht erstellt werden

Eine Spot-Instanz-VM kann in Azure nicht erstellt werden

Vue Router-Instanz kann nicht in JavaScript erstellt werden

FxCopAnalyzers: Eine Instanz des Analysators kann nicht erstellt werden

C #: "Instanz der statischen Klasse kann nicht erstellt werden"

Instanz kann nicht erstellt werden - Konstruktor hat privaten Zugriff

RestTemplate () -Instanz kann nicht aus spring-web erstellt werden

Instanz von JwtClaimsBuilder in Quarkus-Anwendung kann nicht erstellt werden