React Native LIstItem组件TouchableHighlight onPress不工作

时间:2017-11-26 00:48:59

标签: react-native

我有以下React Native ListItem并且onPress没有登录到控制台:

    <ListItem
        rightIcon={{name: 'delete', style: {color: 'white'}}}
        component={TouchableHighlight}
        containerStyle={styles[item.foodType]}
        title={<Text style={styles[item.foodType]}>{item.amount}&nbsp;{item.foodType}&nbsp;<FormattedDateTime epoch={item.when}/></Text>}>
        onPress={() => console.log("Feeding", item) }
    </ListItem> 

其他一切正常,列表看起来不错等等......

为什么我看不到消息?

1 个答案:

答案 0 :(得分:1)

你在onpress之前放置了ListItem的结束标记是错误的,只需将它改为onpress之后就像这样。

<ListItem
    rightIcon={{name: 'delete', style: {color: 'white'}}}
    component={TouchableHighlight}
    containerStyle={styles[item.foodType]}
    title={<Text style={styles[item.foodType]}>{item.amount}&nbsp;{item.foodType}&nbsp;<FormattedDateTime epoch={item.when}/></Text>}>
    onPress={() => console.log("Feeding", item) }
</ListItem> 

<ListItem
    rightIcon={{name: 'delete', style: {color: 'white'}}}
    component={TouchableHighlight}
    containerStyle={styles[item.foodType]}
    title={<Text style={styles[item.foodType]}>{item.amount}&nbsp;{item.foodType}&nbsp;<FormattedDateTime epoch={item.when}/></Text>}
    onPress={() => console.log("Feeding", item) }>
</ListItem> 

或者像这样

<ListItem
    rightIcon={{name: 'delete', style: {color: 'white'}}}
    component={TouchableHighlight}
    containerStyle={styles[item.foodType]}
    title={<Text style={styles[item.foodType]}>{item.amount}&nbsp;{item.foodType}&nbsp;<FormattedDateTime epoch={item.when}/></Text>}
    onPress={() => console.log("Feeding", item) }/>