在类方法中未定义this.props

时间:2019-03-03 13:32:51

标签: react-native

我有一个组件,具有以下所述的renderonPress方法...

  onCardPressed(event) {
    console.log(this.props);
    const { data } = this.props;
    console.log(event, data);
  }

  render() {
    const { data } = this.props;
    return (
      <TouchableOpacity
        onPress={this.onCardPressed}
      >
        <Container style={{ elevation: 5 }}>
          <SectionTitle>
            This is a
            {` ${data.city} `}
            card
          </SectionTitle>
        </Container>
      </TouchableOpacity>
    );
  }

在此示例中,卡将正确显示This is a London card,但是在onPress方法中,this.props返回undefined

如何访问this.props对象以进行评估?

1 个答案:

答案 0 :(得分:2)

您可以通过两种方式解决此问题。支持将这些行添加到构造函数的观点是,每个类的实例仅创建一次新的绑定函数。您也可以使用

onPress={this.onCardPressed.bind(this)}

或(ES6):

onPress={() => this.onCardPressed()}