React Native:组件上的 onPress 不起作用
Posted
技术标签:
【中文标题】React Native:组件上的 onPress 不起作用【英文标题】:React Native: onPress on component doesn't function 【发布时间】:2016-11-16 15:35:01 【问题描述】:所以我在我的 ReactJS 应用程序中使用 react-native-router-flux
进行导航,但我在将它与组件一起使用时遇到了困难。
例如下面的代码 sn-p 在点击链接时通过推送下一页完美地工作。
export default class MainMenuPage extends Component
render()
return (
<View>
<Text>Main Menu</Text>
<TouchableOpacity onPress=Actions.bookmarksPage>
<Text>Bookmarks</Text>
</TouchableOpacity>
<TouchableOpacity onPress=Actions.settingsPage>
<Text>Settings</Text>
</TouchableOpacity>
</View>
);
虽然下面的代码 sn -p 当你按下链接时没有任何反应。
export default class MainMenuPage extends Component
render()
return (
<View>
<Text>Main Menu</Text>
<MenuButton name="Bookmarks" onPress=Actions.bookmarksPage />
<MenuButton name="Settings" onPress=Actions.settingsPage />
</View>
);
class MenuButton extends Component
render()
return(
<TouchableOpacity>
<Text>this.props.name</Text>
</TouchableOpacity>
);
显然第二个代码 sn-p 更干净。
【问题讨论】:
【参考方案1】:您必须将onPress
属性传递给TouchableOpacity
:
class MenuButton extends Component
render()
return(
<TouchableOpacity onPress=this.props.onPress>
<Text>this.props.name</Text>
</TouchableOpacity>
);
【讨论】:
以上是关于React Native:组件上的 onPress 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
返回 JSX 组件 onPress react-native
(React Native) onPress 不适用于 Text 组件
Wix React-Native-Navigation:自定义组件按钮的 onPress
Expo / React Native WebView,动画中的onPress事件在Android上不起作用
在 React Native 中渲染组件 onPress(TouchableOpacity/Button)
React Native 小记解决嵌套内的 TouchableHighlightTouchableOpacity 等组件onPress误触发