क्या आप कृपया मुझे बता सकते हैं कि जूम इन और जूम आउट बटन पहली बार काम क्यों नहीं कर रहा है। जब मैं पहली बार बटन पर क्लिक करता हूं तो यह जूम इन नहीं होता है और जूम आउट क्यों नहीं होता है?

यहाँ मेरा कोड है https://codesandbox.io/s/o4o98kwy0y

zoomIn = () => {
  console.log("zoom in");
  const { currentAngle, currentScale, zoomDelta } = this.state;
  const c = currentScale + zoomDelta;
  this.setState(state => ({
    ...state,
    currentScale: c
  }));
  this.drawImage();
};

zoomOut = () => {
  console.log("zoom in");
  const { currentAngle, currentScale, zoomDelta } = this.state;
  const c = currentScale - zoomDelta;
  this.setState(state => ({
    ...state,
    currentScale: c
  }));
  this.drawImage();
};
1
user10288182 21 नवम्बर 2018, 09:49

1 उत्तर

सबसे बढ़िया उत्तर

ऐसा इसलिए है क्योंकि आप स्थिति निर्धारित कर रहे हैं और तुरंत छवि बना रहे हैं,

आपको जो चाहिए वह है सेटस्टेट कॉलबैक, इसका एक उदाहरण यहां दिया गया है

zoomOut = () => {
  console.log("zoom in");
  const { currentAngle, currentScale, zoomDelta } = this.state;
  const c = currentScale - zoomDelta;
  this.setState(state => ({
    ...state,
    currentScale: c
  }), () => {
    this.drawImage();
  });
};

आपके लिंक में अपडेट किया गया कोड

0
Tholle 21 नवम्बर 2018, 08:11