1

在我使用 NativeBase 的 React Native 项目中,我想生成一系列Buttonsor TouchableOpacities

这意味着我不希望每个人都有一个单独的onPress处理程序,而是一个共享一个。

但是当我查看传递给onPress回调的内容时,似乎没有任何类型的 ID 或对导致新闻的组件的引用,我也找不到这样的记录。

我错过了一些明显的东西吗?每个人都使用另一种方法来实现相同的目标吗?还是这实际上缺少功能?

4

2 回答 2

2

您可以使用如下功能:

  _onPressButton = (id) = () => {
      // do something with id
  }

  _keyExtractor = (item, index) => index;


  _renderItem = ({item}) => (
    <Button onPress={this._onPressButton(item.d)}>
      ...
    </Button>
  );

  return (
    <FlatList
      data={data_array}
      keyExtractor={this._keyExtractor}
      renderItem={this._renderItem}
    />
  );
于 2017-09-18T04:42:05.373 回答
0

您可以尝试使用ref来识别组件

<Button ref={'loginButton'} onPress={this.onButtonPress()}>

然后你使用它访问它this.refs['loginButton']

希望能帮助到你。

于 2017-09-18T05:54:47.990 回答