触摸式不透明onPress无法调用功能-范围问题?

时间:2019-02-24 20:25:58

标签: javascript reactjs react-native scope

我正在使用React Native开发。

我有一个FlatList可以渲染项目。我添加了TouchableOpacity,并希望在按下该项目时调用一个函数,但是该函数没有被调用。

当我单击该项目时,出现错误 找不到变量:_onPress

我认为这是范围界定的问题。有人可以向我解释出什么问题了吗?

我猜第二个问题是:我的_onPress console.log像我一样通过传递道具来记录商品名称吗?

export default class ModalScreen extends React.Component {
//..

        _onPress = (item) => {
           console.log('Clicked:' + item)
        };

      renderItem({ item }) {
        return (
          <TouchableOpacity onPress={() => this._onPress(item)}>
            <View>
              <Text>{item.name}</Text>
            </View>
          </TouchableOpacity>
        )
      }



render() {  
    return (
    //..
          <View style={{flex: 2, backgroundColor: '#FFF', flexDirection:'row'}} >
                <FlatList
                data={this.state.searchedItems}
                renderItem={this.renderItem}
                />
            </View>

    //..

1 个答案:

答案 0 :(得分:1)

尝试使用此'renderItem =({{item})=> {

更改此'renderItem({item}){'