当前位置: 首页 > news >正文

莆田做网站搜狐快站做网站教程

莆田做网站,搜狐快站做网站教程,网站开发修改端口,百度搜索引擎营销模拟器设置成中文 在开发过程中发现#xff0c;两个模拟器都不能输入中文#xff0c;所以需要配置一下。 先说一下安卓#xff0c;在弹出的输入框中查看设置#xff0c;设置一下对应的languages即可#xff1a; 在苹果模拟器中#xff0c;跟苹果手机一样#xff0c;打…模拟器设置成中文 在开发过程中发现两个模拟器都不能输入中文所以需要配置一下。 先说一下安卓在弹出的输入框中查看设置设置一下对应的languages即可 在苹果模拟器中跟苹果手机一样打开设置然后打开通用同样设置语言 路由搭建 我在这里走了弯路去了另一个库…路由文档入口在这链接 sudo npm install react-navigation/native # 兼容expo sudo npx expo install react-native-screens react-native-safe-area-context # 路由跳转的本质是堆栈 sudo npm install react-navigation/native-stack # 我们项目中会使用到底部导航栏跳转 sudo npm install react-navigation/bottom-tabs我要做的东西如下 大概也能猜出哪些路由了这里说一下路由中tab页面和普通页面的搭建关于抽屉页面后续使用了再补上 // router/index.js import react from react; import { createNativeStackNavigator } from react-navigation/native-stack; import { createBottomTabNavigator } from react-navigation/bottom-tabs; import { Feather } from expo/vector-icons; import { MaterialCommunityIcons } from expo/vector-icons;import HabitHome from ../views/habit/home/index; import HabitDetail from ../views/habit/detail/index; import HabitSet from ../views/habit/set; import DateHome from ../views/date/home/index; import DateSet from ../views/date/set/index;// 这里声明了底部tab页面有哪些还配置了顶部导航栏的一些自定义按钮 const Tab createBottomTabNavigator();function TabStack(){return (Tab.Navigator screenOptions{{ headerShown: true,tabBarInactiveTintColor: #333,tabBarActiveTintColor: #6528F7,tabBarShowLabel: true,}}Tab.Screen nameHabitHome component{HabitHome}options{{title: ,tabBarLabel: 打卡,tabBarIcon: ({ color, size }) (Feather nametarget color{color} size{size} /),}} /Tab.Screen nameDateHome component{DateHome}options{{title: ,tabBarLabel: 纪念日,tabBarIcon: ({ color, size }) (MaterialCommunityIcons namecalendar-heart color{color} size{size} /),}} //Tab.Navigator) }// 将底部导航栏和非底部导航栏的页面都写在这里 const Stack createNativeStackNavigator();function PageStack(){return (Stack.NavigatorStack.ScreennameTabStackcomponent{TabStack}options{{ headerShown: false }}/Stack.Screen nameHabitDetail component{HabitDetail} options{{ title: 习惯详情 }} /Stack.Screen nameHabitSet component{HabitSet}options{{title: 添加一个习惯}} /Stack.Screen nameDateSet component{DateSet} options{{ title: 设置纪念日 }} //Stack.Navigator) }export default PageStack; 接下来就是在App.js中使用了 import * as React from react; import { NavigationContainer } from react-navigation/native; import { Provider } from react-redux import store from ./store/index import PageStack from ./router/indexfunction App() {return (Provider store{store}NavigationContainerPageStack //NavigationContainer/Provider); }export default App;用的状态管理器还是redux像以前在普通react项目中那样使用就行官网地址 开发技巧 ScrollView适合用来显示数量不多的滚动元素。放置在ScrollView中的所有组件都会被渲染还没滑动到下一屏幕也是会被渲染出来FlatList更适于长列表数据且元素个数可以增删和ScrollView不同的是FlatList并不立即渲染所有元素而是优先渲染屏幕上可见的元素。综上如果列表太长的情况下可以优先使用FlatList。View组件类似Div组件但是没有点击事件所有文字必须包含在Text组件中Button组件在两端的机器上显示的不一样所以为了确保样式一致性我会使用View按钮来制作按钮由于View上没有点击事件所以我借助了TouchableOpacity而安卓机上还有一个特有的组件TouchableNativeFeedback做了如下封装 import { TouchableOpacity, TouchableNativeFeedback, Platform } from react-native;function CommonButton (props){const { onPress, children } props;if(Platform.OS android) {return (TouchableNativeFeedback background{TouchableNativeFeedback.Ripple(rgba(215, 187, 245, 0.5), false)}onPress{onPress}{ children }/TouchableNativeFeedback)}else {return (TouchableOpacity onPress{onPress}{ children }/TouchableOpacity)} }export default CommonButton; 从上面的例子可知Platform可以用来判断端的类型如果你觉得一个文件编写两套代码麻烦可以改成下面的方式 - common-button.ios.js - common-button.android.js在引入文件的时候还是直接写 import CommonButton from xxx/xxx/common-buttonReact Native中的flex跟平常的还是有些区别的 由于样式的局限性所以在项目中我想借助float来写瀑布流样式是不支持的后来实现的方法是采用了拆分成了两列 生成随机数有很多种npm包供使用比如nanoid但是它不兼容React Native这里采用了uuid: npm i uuid react-native-get-random-values// store/modules/habitimport { createSlice } from reduxjs/toolkit; import react-native-get-random-values; import { v4 as uuidv4 } from uuid;const defaultList [{id: uuidv4(10),name: 打卡,count: 0,}, ]// ...expo包内置了图标文档地址expo/vector-icons路由跳转在页面的props中可以获取navigation对象 function HabitHome(props) {const { navigation } props;// ...// 新增打卡const goSetPage () {navigation.navigate(HabitSet)}// ... }当用户在输入某些内容会弹出键盘键盘有时候会挡住页面可以借助KeyboardAvoidingView组件本组件可以自动根据键盘的高度调整自身的 height 或底部的 padding以避免被遮挡另外键盘弹出之后我们希望可以在点击其他地方的时候自动收回键盘那么可以借助TouchableWithoutFeedback最终代码如下 function HabitSet(props) {// ...// 收起键盘const onPress () {Keyboard.dismiss();}return (TouchableWithoutFeedback onPress{onPress}KeyboardAvoidingView style{styles.container} behavior{Platform.OS ios ? padding : height}// .../KeyboardAvoidingView/TouchableWithoutFeedback); } 参考 exporeact nativereact-navigation图标配色参考react-redux
http://www.zqtcl.cn/news/570168/

相关文章:

  • 图书馆网站参考咨询建设wordpress安装500
  • 详细描述建设网站wordpress 子页面
  • 做公司网站推广如何快速推广
  • 给期货交易类做网站违法吗青海企业网站制作
  • 成都网站模板购买一站式营销型网站建设服务
  • wordpress建站优势做网站认证对网站有什么好处
  • synology做网站专业企业建站价格
  • php开发大型网站开发免费个人微网站
  • 专门做奢侈品的网站怎么建设课题网站
  • 博客推广那个网站列好深圳社保个人网页登录
  • 网站的背景图怎么做最新章节 第一百四十七章 做视频网站
  • 济南网站建设百家号阿里云怎么wordpress
  • 网站分享对联广告北京建设执业网站
  • 一级做爰片免费网站域名流量查询
  • 做网站网站需要注意什么网站建设swot市场分析
  • 大学生兼职网站的融资方案云凡济南网站建设开发
  • 做动态效果的插件网站抚顺清原网站建设招聘
  • 商务网站开发需求分析厦门35网站建设公司
  • wordpress classseo推广服务
  • 石景山网站建设公司网站后台密码如何破解
  • 哪个大学的网站做的最好看南宁网站设计制作公司
  • 北京 集团公司网站建设免费网站建设模版云盘
  • 阿里云建设网站要什么广州网站建设方案案例
  • 德阳吧网站建设线上编程培训机构哪家好
  • 天津电商网站开发备案查询站长之家
  • 网至普的营销型网站布局青岛做网站
  • 网站开发的安全问题wordpress文章列表显示缩略图
  • 网站运营招聘代理商加盟
  • 清远 网站建设自己做的网站怎么发布
  • 可以做免费推广的网站短视频app有哪些