を使用する目的を教えてください:
<Camera
ref={(cam) => {
this.Camera = cam;
}}
style={styles.preview}
aspect={camera.constants.Aspect.fill} >
<Text style={styles.capture}
onPress = { this.takePicture.bind(this)}>
[CAPTURE]
</Text>
</Camera>
takePicture() {
this.Camera.capture()
.then((data) => console.log(data))
.catch(err => console.error(err));
}
ref
への参照を返します。コンポーネント上記の例では、コンポーネントCamera
の参照をthis.Camera
に保存しています(this.xyz
などの名前を付けることができます)。今度はthis.Camera
を使用してCamera
コンポーネントのすべてのメソッドにアクセスできます。上記の例では、capture
はCamera
コンポーネントのメソッドで、this.Camera.capture()
のように呼び出すことができます。
あなたは理解を容易にするため、このように考えることができ:
Camera = { // your <Camera /> component
capture: function(){ console.log('CAPTURE')}
}
myCamera = Camera // ref is doing something like this("myCamera" replaces "this.Camera", "Camera" replaces 'cam")
myCamera.capture() // now you can call methods of Camera Object
あなたがのためにレフリーが何であるかを求めていますか? https://reactjs.org/docs/refs-and-the-dom.html –
この特定のコードでのrefの使用 – user8275164
このコードの周囲のコンテキストなしでは分かりません。どこかのコードが 'this.Camera'(おそらく)を使っていて、その目的が何であるかを確かめるためにこのコードブロックを見る必要があります。通常のjavascriptの 'document.getElementById()'と同様に、ReactElementにアクセスするためには、通常、 –