1

Wie können Sie die Höhe eines reaktiven nativen Elements messen, wenn Sie nur die ref haben?Höhe der reagierenden Referenz messen (ListView)

Ich sehe NativeMethodsMixin, aber es ist nicht klar, wie es zu implementieren ist.

Ich habe versucht, es wie zB:

import { NativeMethodsMixin } from 'react-native'; 
class Foo extends Component { 
    mixins: [NativeMethodsMixin] 
    measure(ref) { 
    console.log(NativeMethodsMixin.measure(ref)); 
    } 
    ... 
} 

aber die App beklagt, dass NativeMethodsMixin nicht definiert ist.

Wenn ich den RCTUIManager Weg gehen:

import { NativeModules } from 'react-native'; 
const RCTUIManager = NativeModules.UIManager; 
class Foo extends Component { 
    measure(ref) { 
    const height = RCTUIManager.measure(ref, (x, y, width, height, pageX, pageY) => height)); 
    console.log(height); 
    } 
    ... 
} 

dann bekomme ich einen Fehler: Uncaught TypeError: Converting circular structure to JSON

Ich möchte nur die Höhe des ref zu bekommen. Was vermisse ich?

+0

Für alle, die sich dieser findet - Sie 'ref' verwenden müssen, und nicht die tatsächliche React Sicherung Klasseninstanz. https://facebook.github.io/react/docs/more-about-refs.html – chandlervdw

Antwort

0

Sie können wie folgt tun:

this.refs[your ref key].measure((fx, fy, width, height, px, py) => { 
      this.state.origins.push({ 
      x: px, 
      y: py, 
      width, 
      height, 
      }); 
     }); 

Link vielleicht hilfreich: click here

Verwandte Themen