2016-05-29 57 views
-2
export default class A extends Component { 

    constructor(props) { 
     super(props) 
     this.state = { 
      items: Items 
     } 
    } 

    componentWillMount() { 
     var ds = new ListView.DataSource({ 
      rowHasChanged: (r1,r2) => r1 !== r2 
     }); 

     this.dataSource = ds.cloneWithRows(this.state.items); 
    } 

    _renderRow(rowData) { 
     return (
      <View key = { rowData.id } > 
       <TouchableHighlight 
        onPress={() => console.log(this.state) }> 
        { Registry.render(rowData) } 
       </TouchableHighlight> 
      </View> 
     ); 
    } 

我想控制台从匿名函数内记录类的状态,我得到未定义。我必须绑定示波器吗?我尝试过没有成功。从匿名函数内访问类范围

回答

-1

使用=> lambda函数为此提供词法绑定。更改您的功能代码如下:

_renderRow = (rowData) => { 
    return (
     <View key = { rowData.id } > 
      <TouchableHighlight 
       onPress={() => console.log(this.state) }> 
       { Registry.render(rowData) } 
      </TouchableHighlight> 
     </View> 
    ); 
} 
+0

我不完全理解答案,但它的工作! – Brackets