React Native 中 Button 组件未定义的解决方案

在 React Native 项目中使用 Button 组件时出现 "Button is not defined" 错误,根本原因是 React Native 核心库已移除默认导出的 Button,需改用 TouchableOpacity + Text 或显式导入 @react-navigation/elements 中的按钮组件。 在 react native 项目中使用 `button` 组件时出现 "button is not defined" 错误,根本原因是 react native 核心库已移除默认导出的 `button`,需改用 `touchableopacity` + `text` 或显式导入 `@react-navigation/elements` 中的按钮组件。该错误常见于升级到 React Native 0.72+ 或使用较新 CLI 创建的项目。从 React Native 0.72 起,官方正式弃用了内置的 <Button /> 组件(即 import { Button } from 'react-native'),因其样式僵硬、定制性差且与现代导航生态不兼容。因此,即使你正确配置了 React Navigation 的 navigation 对象,只要仍尝试从 'react-native' 导入 Button,就会触发 ReferenceError: Button is not defined。? 正确做法是:避免使用 Button,改用可完全自定义的触摸响应组件,如 TouchableOpacity、Pressable 或 TouchableHighlight,并配合 Text 实现语义化按钮行为。以下是推荐的修复方案(以 TouchableOpacity 为例):// Home.jsimport React from 'react';import { View, Text, TouchableOpacity } from 'react-native';const Home = ({ navigation }) => { const handleNavigateToGame = () => { navigation.navigate('Game'); }; return ( <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center', padding: 20 }}> <Text style={{ fontSize: 18, marginBottom: 32 }}>This is the Home screen.</Text> <TouchableOpacity style={{ backgroundColor: '#007AFF', paddingHorizontal: 24, paddingVertical: 12, borderRadius: 8, }} onPress={handleNavigateToGame} > <Text style={{ color: 'white', fontSize: 16, fontWeight: '600' }}>Go to Game</Text> </TouchableOpacity> </View> );};export default Home;?? 注意事项:不要再写 import { Button } from 'react-native' ------ 该导出已不存在,强制使用将导致运行时崩溃; 灵办AI 免费一键快速抠图,支持下载高清图片

相关推荐
2501_9012005314 小时前
mysql如何检查数据库表是否存在损坏_使用CHECK TABLE命令修复
jvm·数据库·python
2301_7662834414 小时前
如何设置密码复杂度策略以约束MongoDB用户的密码强度
jvm·数据库·python
duke86926721414 小时前
Golang怎么安全关闭channel_Golang channel关闭教程【通俗】
jvm·数据库·python
2301_7662834414 小时前
uni-app iOS后台运行 uni-app App如何实现后台定位或音乐播放
jvm·数据库·python
m0_5967490914 小时前
如何清除SQL表中的缓存垃圾_通过TRUNCATE重置表状态
jvm·数据库·python
m0_5913647314 小时前
如何从Oracle Java调用外部API_HTTP请求在数据库Java Source中的实现
jvm·数据库·python
搬码后生仔14 小时前
navicat 拷贝视图
数据库
彳亍10114 小时前
使用 Go 语言安全高效地将 SSH 公钥复制到远程服务器
jvm·数据库·python
zhoutongsheng14 小时前
mysql触发器可以自定义错误消息吗_mysql错误处理机制
jvm·数据库·python
Metaphor69214 小时前
使用 Python 给 Word 文档设置背景
python·word