美文网首页
Contacts 梳理

Contacts 梳理

作者: 芝麻香油 | 来源:发表于2017-12-10 21:11 被阅读0次

原文链接
前面好几篇文章都说到了我写的一个 DEMO,那么这个 DEMO 到底是什么呢?

描述

  • 使用 React Native 完成一个手机端的通讯录

需求

  • 有姓名、电话、公司、头像...
  • 代码提交至 github
  • 重构(使用比较高级的组件)
  • 下拉加载数据,下拉不到底(不使用 Redux)
  • 使用 Redux 完成下拉功能
  • 使用 Redux 发送真正的请求获取数据
  • 加载数据的过程中页面出现转圈功能
  • 使用 react-native-router-flux

输出

主要内容

  1. React Native
    Facebook 于 2015年4月开源跨平台移动应用开发框架,React 在原生移动应用平台的衍生物

  2. 从 0 到 1 搭建 DEMO 库
    使用脚手架 react-native-cli,执行以下命令:
    npm install -g react-native-cli # 全局安装 react-native-cli
    react-native init projectName # 使用 react-native 初始一个项目
    这个脚手架主要做以下几件事:

    • 新建一个名为 projectName 的文件夹
    • 在这个文件夹中建立 package.json 文件
    • npm install --save react-native-cli 运行这个命令,安装 react-native 及其依赖,这些依赖放在 projectName/node_modules 文件夹中。package.json 中声明 react-native 作为 projectName 项目的依赖
    • 全局安装 react-native CLI 工具,并且将控制权交给本地的 CLI 工具,也就是 projectName/node_modules/react-native/local-cli/cli.js 文件
    • 执行 projectName/node_modules/react-native/init.sh 文件。用于生成标准代码的脚本,比如:index.ios.js、iOS 文件夹中的 Objective-C 代码,以及 projectName.xcodeproj 文件夹中的 Xcode 仙姑配置
  3. Promise
    在JavaScript的世界中,所有代码都是单线程执行的。由于这个“缺陷”,导致JavaScript的所有网络操作,浏览器事件,都必须是异步执行。而 Promise 对象用于异步操作,它表示一个尚未完成且预计在未来完成的异步操作。

  4. React 生命周期


    image.png
    • 父组件的 Will 函数在子组件 Will 函数之前执行(Will 函数包括 componentWillMount,componentWillUpdate)
    • 父组件的 Did 函数在子组件 Did 函数之后执行(Did 函数包括 componentDidMount,componentDidUpdate)
  5. Redux
    Redux对于JavaScript应用而言是一个可预测状态的容器。换言之,它是一个应用数据流框架。最主要是用作应用状态的管理。简言之,Redux用一个单独的常量状态树(对象)保存这一整个应用的状态,这个对象不能直接被改变。当一些数据变化了,一个新的对象就会被创建(使用actions和reducers)

  6. react-native-router-flux
    用于页面跳转

  7. 《深入 React 技术栈》

image.png

参考资料

相关文章

网友评论

      本文标题:Contacts 梳理

      本文链接:https://www.haomeiwen.com/subject/kvgvixtx.html