# React-native-demo **Repository Path**: github-31301552/React-native-demo ## Basic Information - **Project Name**: React-native-demo - **Description**: A learning warehouse about react-native - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-03-19 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 周报 > 汇报人:俞梦成 日期:3月16日 ### 主要工作 > 无 ### 主要学习 > 为下期 app 学习技术栈,主要有: react的jsx语法、react native文档阅读、react-navigation阅读和学习、redux学习、Demo练习 - RN window android环境搭建;遇到几个比较典型的坑 - android studio的虚拟机太卡,直接真机调试,SDK message 进行各种sdk安装以及环境变量的设置 - 运行的时候一些缺少sdk依赖的直接安装相应的,注意必须在android/app/src/main中创建一个assets文件(这个文件是bundle之后的存放文件的地方!) - 如:React Native Could not expand ZIP,提示应该是缓存过大?!直接进入android目录 gradlew clean就行 - 还有就是真机中android版本的问题,需要和gradle的版本对应... - react 的jsx语法几个特点 - 使用{} 进行js代码的包裹 - 注释的时候需要{/**/} - 组件的创建使用es6的class语法糖,尽量不要使用function函数的方式,因为不具备this - 还有忘了。。。 - react-navigation几个印象深刻的 - navigationOptions对页面的头部的一些属性的配置,比如自定义左右按钮,以及title、颜色、is滑动、页面跳转风格(mode) - TabNavigator(类似传统的tab底部按钮)和StackNavigator(页面跳转)以及DrawerNavigator(抽屉式侧滑菜单栏)三种不同的navigator - redux > 之前还算明白的,这次重新看的时候,突然有些懵了,感觉没有vuex的思路简单 - 大致的流程是createStore实例一个仓库,当store被更改后发生一个action动作,去触发dispatcher去分发设置好的一些方法,方法中对storeg更改,对视图进行更改,不知道理解的对不对。。。 - 还有就是react中的生命周期,这个很重要 - componentWillMount整个过程中只会执行一次!!! - props更改的时候会执行这个钩子 componentWillReceiveProps - state状态更改会执行shouldComponentUpdate,是否对视图更新,优化性能的重要地方 - 二次渲染的问题可以从shouldComponentUpdate这里优化,还有就是state只能通过this.setState()进行修改,可在componentWillMount中执行