this2。不是一个功能

问题描述 投票:0回答:1

我收到错误“this2。不是函数”enter image description here

我尝试了一些我在谷歌上找到的解决方案,但仍然无法通过调用该功能的方式。

我的主要目的是在动作文件中调用动作功能。有一些问题,所以我打算先调用一个函数,然后尝试调用该操作。

 viewJob(){
    console.log("View");
}

renderItem({ item }) {
    return(
        <Card>
            <View style={{height:300}}>
            </View>
            <View style={styles.detailWrapper}>
                <Button
                    title="Apply"
                    onPress={() => this.viewJob()}
                />
            </View>
        </Card>
    );
}

更新

render(){
    return(
        <View style={{ marginTop:10 }}>
        <FlatList
            contentContainerStyle={styles.list}
            data={this.props.jobs}
            keyExtractor={this._keyExtractor}
            renderItem={this.renderItem.bind(this)} // I didnt bind this , which led to the error above
        />
        </View>
    );
}
react-native redux
1个回答
2
投票

您需要绑定该方法

render(){
  return(
      <View style={{ marginTop:10 }}>
      <FlatList
          contentContainerStyle={styles.list}
          data={this.props.jobs}
          keyExtractor={this._keyExtractor}
          renderItem={this.renderItem.bind(this)} 
      />
      </View>
  );
}

注意:如果您使用箭头功能,那么您不必担心绑定

您可以阅读更多关于何时从official doc绑定的信息

© www.soinside.com 2019 - 2024. All rights reserved.