0
Im new to react native。 親ファイルと子ファイルの2つのファイルがあります。子ファイルから親ファイルのコールバックを受信します。値が変数ネイティブに割り当てられていません
このコールバックでは、スクリーンショットに添付されているように、私はthis.positionIdの値を持っていますが、その変数を別の変数に割り当てると 'undefined'という結果になります。誰がなぜこれが起こっているのか教えてもらえますか?あなたがラインthis.props.releaseValues(E、ジェスチャー)を見ることができるように
componentWillMount: function() {
this._animatedValueX = 0;
this._animatedValueY = 0;
this.state.pan.x.addListener((value) => this._animatedValueX = value.value);
this.state.pan.y.addListener((value) => this._animatedValueY = value.value);
this._panResponder = PanResponder.create({
onMoveShouldSetResponderCapture:() => true, //Tell iOS that we are allowing the movement
onMoveShouldSetPanResponderCapture:() => true, // Same here, tell iOS that we allow dragging
onPanResponderGrant: (e, gestureState) => {
this.state.pan.setOffset({x: this._animatedValueX, y: this._animatedValueY});
this.state.pan.setValue({x: 0, y: 0}); //Initial value
},
onPanResponderMove: Animated.event([
// null,
// {
// dx: this.state.pan.x, dy: this.state.pan.y
// }
]), // Creates a function to handle the movement and set offsets
onPanResponderRelease: (e, gesture) => {
this.state.pan.flattenOffset(); // Flatten the offset so it resets the default positioning
this.props.releaseValues(e, gesture);
}
});
},
が親コントローラへのコールバックを与える:
子供のjsファイルが含まれていpanResponder。
positionID成分のコード - >
addElements: function(){
return this.props.ElementsToBeAdded.map(function(element,key){
return <DraggableView
color={element}
positionId={key}
key={key}
releaseValues={(e, gesture) => {
if(((gesture.moveX > (currentX + currentWidht)) ||
(gesture.moveX < currentX)) ||
((gesture.moveY > (currentY + currentHeight)) ||
(gesture.moveY < currentY)))
{
_this.setState({positionID:this.positionId});
_this.props.releaseValuesFirstView(e,gesture,0);
}
else {
_this.props.releaseValuesFirstView(e,gesture,-1);
}
}
} />
});
},
でコードにアクセスできますか? –
なぜこの変数をここで宣言し、直接渡さないのですか?また、変数に同じ名前を使用しないでください。 –
@RadekCzemerysは変数を直接送信することを試みましたが、それでも同じ問題を示しています。同じ名前でも試してみました。 – Rajesh