我使用React-Native-Router-Flux作为我的路线的React-Native应用程序。在我的路由中,我在MoreIcon上有一个函数调用,它应该在onPress上运行,但除非我删除了Lambda运算符,否则没有任何内容正在执行,但是它会在组件的mount上立即执行它。
我试图返回并且没有返回从onPress调用的警报功能但仍然没有运气。
{/* Live Feed Tab View */}
<routes.Scene key = "Live" title = "Live" icon={Icons.LiveIcon}>
<routes.Scene key="LiveFeed" component={LiveFeed} renderRightButton = {() => { return <MoreIcon onPress = { () => {return alert() } } />; }} renderTitle={() => { return <AppLogo />; }} />
<routes.Scene key="Profile" component={Profile} title="Profile" renderRightButton = {() => { return <MoreIcon />; }} />
<routes.Scene key="Reply" component={Reply} title="Replies" />
<routes.Scene key="Camera" component={Camera} title="Camera" />
<routes.Scene key="Preview" component={Preview} title="Preview" />
<routes.Scene key="MakePost" component={MakePost} title="MakePost" />
</routes.Scene>
答案 0 :(得分:0)
确保onMress的Inside More Icon传递给可以处理TouchableOpacity等触摸的元素。检查onPress文档中的onPress函数是如何从包裹图像的TouchableOpacity组件触发的。 https://facebook.github.io/react-native/docs/touchableopacity.html