# NeteaseNews
这是一个ReactNative仿网易新闻APP的Demo.
## 启动页:
![Image text](https://github.com/h406621397/ImageRepository/blob/master/Screenshot_1524643809.png)
## 首页:
![Image text](https://github.com/h406621397/ImageRepository/blob/master/Screenshot_1522724420.png)
## 图文新闻详情页:
![Image text](https://github.com/h406621397/ImageRepository/blob/master/Screenshot_1522721716.png)
## 视频半屏效果:
![Image text](https://github.com/h406621397/ImageRepository/blob/master/Screenshot_1523522615.png)
## 视频全屏效果:
![Image text](https://github.com/h406621397/ImageRepository/blob/master/Screenshot_1523522641.png)
## 视频:
![Image text](https://github.com/h406621397/ImageRepository/blob/master/Screenshot_1523522342.png)
## 我的:
![Image text](https://github.com/h406621397/ImageRepository/blob/master/Screenshot_1523170589.png)
## 热更新:
![Image text](https://github.com/h406621397/ImageRepository/blob/master/Screenshot_1524805643.png)
# 运行项目:
1、NeteaseNews目录下执行yarn或npm i 命令。<br>
2、执行react-native run-android或npm run android命令。<br>
# 基本功能:
1、使用react-native-tab-navigator实现APP底部菜单切换<br>
2、首页和视频页使用FlatList实现下拉刷新/上拉加载功能<br>
3、首页和视频页使用react-native-scrollable-tab-view实现选项卡切换栏目新闻功能<br>
4、使用react-native-htmlview实现图文新闻详情页功能<br>
5、使用react-native-video、react-native-orientation实现视频新闻详情页功能<br>
6、安卓下添加了对GIF图片的支持(IOS默认支持)<br>
7、使用react-native-splash-screen添加了APP启动页,避免APP启动白屏<br>
8、"我的"页面添加了RN动画<br>
9、添加了storage(数据存储)、elements(UI组件)、swiper(滑动)、vector-icons(图标)等常用库<br>
10、使用CodePush实现了热更新功能,可静默更新或提示更新<br>
# 项目中的问题:
1、路由页面切换时的自定义动画效果存在BUG<br>
2、当页面存在FlatList组件时,在componentWillMount/componentDidMount里start一个无限循环的动画导致FlatList列表数据不显示。<br>
3、borderRadius在android低版本(目前测试的4.1.2)下的绘制不完美<br>
4、视频在全屏状态下,低版本android对StatusBar hidden的兼容问题<br>
# 其它:
* 由于接口权限原因,打开新闻详情页面、视频页面时可能出现空白,无法正常请求到新闻数据显示。<br>
* 直播和新闻评论功能尚未开发,有相关接口的童鞋可以私我共同开发学习。<br>
ReactNative 仿网易新闻APP
需积分: 0 80 浏览量
更新于2022-11-02
收藏 2.08MB ZIP 举报
ReactNative是一种由Facebook开发的开源框架,用于构建原生移动应用程序。它允许开发者使用JavaScript和React库来编写可跨平台的iOS和Android应用,极大地提高了开发效率和代码复用性。"ReactNative 仿网易新闻APP"项目是基于这个框架实现的一个示例,旨在展示如何运用ReactNative技术构建一个类似网易新闻的应用程序。
该项目包含以下核心知识点:
1. **React组件化**:ReactNative沿用了React.js的组件化思想,通过将UI拆分成独立、可重用的组件,可以更方便地管理和维护代码。在“仿网易新闻APP”中,每个模块(如头条、体育、娱乐)以及新闻详情页都可以看作是独立的组件。
2. **JSX语法**:JSX是JavaScript和XML的融合语法,用于描述React组件的结构。在项目中,开发者会使用JSX来定义UI布局和交互逻辑。
3. **样式处理**:ReactNative采用原生样式系统,支持CSS-like语法来定义组件样式,但不完全兼容CSS。在“仿网易新闻APP”中,开发者需要理解如何使用Flexbox布局来实现响应式设计。
4. **网络请求与数据处理**:新闻内容通常来自服务器API。项目中可能使用了像`fetch`或第三方库如`axios`进行HTTP请求,获取JSON数据,然后解析并渲染到界面上。
5. **状态管理**:在复杂应用中,状态管理是关键。ReactNative可以使用`useState`或`useContext`等钩子进行简单的状态管理,对于更复杂的场景,可能会引入Redux或MobX等第三方库。
6. **导航**:在多页面应用中,导航是非常重要的部分。“仿网易新闻APP”可能使用了ReactNavigation库,提供堆栈导航、抽屉导航等多种导航方式。
7. **动画与触摸反馈**:ReactNative支持原生动画,可以利用`Animated`库创建平滑的动画效果。同时,为了提供良好的用户体验,应用还可能实现了触摸反馈,如按钮按下效果。
8. **平台特定的API集成**:ReactNative允许直接调用iOS和Android的原生功能,如推送通知、地理位置服务等。在“仿网易新闻APP”中,如果包含这些功能,开发者需要了解如何使用`Platform`模块来区分不同平台的实现。
9. **热更新与调试**:ReactNative支持热更新,可以在不重启应用的情况下更新代码,提高开发效率。开发者还可以使用React Native Debugger或Chrome开发者工具进行实时调试。
10. **性能优化**:考虑到移动设备的资源限制,性能优化是必要的。这可能涉及到减少渲染次数、避免状态冗余、使用PureComponent或React.memo减少组件不必要的重渲染等。
通过“ReactNative 仿网易新闻APP”项目,开发者不仅可以学习到ReactNative的基本用法,还能深入了解如何构建实际的移动应用,包括数据获取、用户交互、导航、性能优化等多个方面,从而提升自己的全栈开发能力。
三季人G
- 粉丝: 139
- 资源: 2369
最新资源
- 基于MATLAB的500kV LCC-HVDC 输电仿真 两侧交流系统电压为345kV,交流侧分别设计了相应的滤波器,直流电压等级为500kV,直流电流为2KA,直流功率为1000MVA,下面依次为整
- matlab simulink车辆防抱死制动系统ABS建模仿真 单轮 双轮
- 基于hadoop的新闻推荐系统 用户协同过滤推荐 基于大数据的新闻推荐系统 推荐原理:以用户对新闻的喜欢和收藏行为作为基础数据集,应用hadoop通过mapreduce程序进行协同过滤计算,得出用户对
- C#上位机模板程序,使用的是台达AS228主机PLC,功能齐全,自动运行页面、切页面、手动调试、参数设置页面都有
- TCR+fc型svc无功补偿仿真模型有详细资料
- 基于光风储能vsg无缝切(预同步)控制策略 前0.3秒风光储+直流负载独立运行 0.3s时,断开直流负载和直流源,风光储+VSG+交流负载合并运行 0.6s时,VSG预同步模块并网 1.3s时,改变t
- 自动驾驶图像全景分隔,基于HRnetSegmentation从训练工程到tensorRT工程部署Demo闭环一套,包含训练工程及部署工程,和环境的配置说明,已在实际项目中使用 大厂自动驾驶工程师沉淀
- MATLAB代码 风光场景生成 场景削减 概率距离削减法 蒙特卡洛法 MATLAB:基于概率距离快速削减法的风光场景生成与削减方法 参考文档:《含风光水的电厂与配电公司协调调度模型》完全复现场景削减
- 基于mppt的光伏svpwm逆变并网 通过分析光伏电池的输出特性与外部环境的关系搭建出仿真模型,引入了变步长扰动观察法实现的最大功率追踪 MPPT 控制算法 并设计三相逆变器SVPWM双闭环控制策略
- 伺服电机代码 直线电机代码 FPGA架构伺服代码 软件硬件方案, 一个fpga控制多个电机,目前一个fpga最多控制6伺服驱动,所有内容均有fpga完成,控制曲线(T曲线),位置环,速度环,电流环,低
- 三相逆变器重复控制 在simlink中搭建了逆变器的重复控制模型,滤波器环节采用了陷波器与二阶低通滤波器 逆变器输出电压的THD仅仅只有0.52% 整个仿真全部离散化,采用离散解析器,控制与采样
- 锁相环 采用simlink仿真嵌C语言实现锁相环,整个仿真没有一个模块,只有C需要写的锁相环函数 仿真结果如图所示,基于双二阶广义积分器的锁相环成功锁得电网相位 对C语言写的代码做了详尽的注释
- PWM整流器仿真 在simulink中搭建了PWM整流器,采用电压电流双闭环控制,实现了网侧电压与电流同相位,单位功率因数运行 采用基于双二阶广义积分器的锁相环,锁得电网相位 整个仿真全部离散化
- matlab代码:计及条件风险价值的电-气综合能源系统能量-备用分布鲁棒优化 关键词:wasserstein距离 CVAR条件风险价值 分布鲁棒优化 电-气综合能源 能量-备用调度 参考文档Ene
- 基于DSTATCOM无功补偿的风电并网模型 Matlab simulink 质量过硬 仿真简介: 1、2个风电:一个基于双馈风机DFIG、一个基于感应风机 2、仿真总时长30s,10s时,感应风机
- 考虑储能削峰填谷的含DG配电网可靠性评估 1、基于序贯蒙特卡洛的配电网可靠性评估; 2、基于序贯蒙特卡洛的含DG配电网可靠性评估; 3、基于区间迭代法优化储能出力进行削峰填谷; 4、基于上述内容进一