gpt4 book ai didi

react-native - 使用 TouchableWithoutFeedback react 原生 onPress 不起作用

转载 作者:行者123 更新时间:2023-12-04 04:36:40 25 4
gpt4 key购买 nike

我正在开发一个用于学习目的的简单 React Native 应用程序。我只是迈出了进入 React Native 世界的第一步。但是在这个非常早期的阶段,我遇到了问题。我无法让简单的触摸事件工作。我正在使用 TouchableWithoutFeedback 实现触摸事件。这是我的代码。

class AlbumList extends React.Component {

constructor(props)
{
super(props)
this.state = {
displayList : true
}
}
componentWillMount() {
this.props.fetchAlbums();
}

albumPressed(album)
{
console.log("Touch event triggered")
}

renderAlbumItem = ({item: album}) => {
return (
<TouchableWithoutFeedback onPress={this.albumPressed.bind(this)}>
<Card>
<CardSection>
<Text>{album.artist}</Text>
</CardSection>
<CardSection>
<Text>{album.title}</Text>
</CardSection>
</Card>
</TouchableWithoutFeedback>
)
}

render() {
let list;
if (this.state.displayList) {
list = <FlatList
data={this.props.albums}
renderItem={this.renderAlbumItem}
keyExtractor={(album) => album.title}
/>
}

return (
list
)
}
}

const mapStateToProps = state => {
return state.albumList;
}

const mapDispatchToProps = (dispatch, ownProps) => {
return bindActionCreators({
fetchAlbums : AlbumListActions.fetchAlbums
}, dispatch)
}

export default connect(mapStateToProps, mapDispatchToProps)(AlbumList);

如您所见,我正在列表项上实现触摸事件。但是当我在模拟器上点击卡片时它根本没有触发。为什么?我该如何解决?

最佳答案

您应该像这样将内容包装在组件中:

<TouchableWithoutFeedback>
<View>
<Your components...>
</View>
</TouchableWithoutFeedback>

关于react-native - 使用 TouchableWithoutFeedback react 原生 onPress 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53573038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com