在本机中使用this.state时发生问题

时间:2016-05-04 18:43:43

标签: reactjs react-native

我有一个文件名'FirstContainer.js',该文件的代码为

getInitialState: function(){
return{
  currentX: null,
}
}

in currentX value我正在保存当前视图的x-coOrdinate。

现在我有了不同的文件'DraggableView.js',其中我使用了一些PanResponders并返回释放坐标值并将它们捕获到'FirstContainer.js',因为那是我的父文件。

因此FirstContainer的渲染功能看起来像

render: function(){
//some more code goes here
<DraggableView ...
// by next line Im getting panResponder release values
releaseValues={(e, gesture) => {
    //Now here is the problem , I need to use this.state.currentX here       , but unfortunately I cant as 'this' will refer to DraggableView
Any suggestion how can I achieve that ? 
}}/>
//some more lines of code
}

添加屏幕截图以供参考:

enter image description here

1 个答案:

答案 0 :(得分:1)

在返回&#34; ui-code&#34;之前,在渲染函数的顶部。本身。 定义一个变量:

`var _this = this`.

它看起来像这样:

render: function(){
var _this = this;
//some more code goes here
<DraggableView ...
releaseValues={(e, gesture) => {
// use _this here
}}/>
//some more lines of code
}`