如何在列表项中有条件地更改 rightIcon。我正在使用 react-native 元素

How to change rightIcon conditionally in List Item. I am using react-native elements

我是 react-native 的新手,我正在使用 react-native 元素库。我尝试在 rightIcon 中调用如下函数,但它没有呈现 rightIcon

  renderItem = ({item}) => (
    console.log('renderItem', item),
    (
      <ListItem
        title={item.name}
        subtitle={<Text style={{color: 'red'}}>{item.subtitle}</Text>}
        leftIcon={<Image source={item.avatar_url} />}
        rightIcon={
          // name: 'ios-arrow-forward',
          // type: 'ionicon',
          () => this.changeIcon(item)
        }
        onPress={this.navigateToScreen(item.route)}
      />
    )
  );
  changeIcon = item => {
    console.log('changeItem', item);
    if (item.subtitle != 'Completed')
      return <Image source={require('../../../assets/icons/menu.png')} />;
  };

() => this.changeIcon(item) returns 函数引用,但 ListItem 需要一个组件。

尝试

rightIcon={this.changeIcon(item)}