其实这不是面试题,就是一些 React Native 的知识点。如果你用来 interview,请一定反复验证,有错的话,记得 PR 给我,谢谢!
Q1:
Props和State变化后会触发页面生命周期中的哪些方法?执行顺序是什么?
| Props Change | State Change |
|---|---|
| compoentWillReceiveProps | |
| shouldComponentUpdate | shouldComponentUpdate |
| componentWillUpdate | componentWillUpdate |
| render | render |
| componentDidUpdate | componentDidUpdate |
Q1: 同步
action与异步action最大的区别是什么?
A1: 同步只返回一个普通
action对象。而异步操作中途会返回一个promise函数。当然在promise函数处理完毕后也会返回一个普通action对象。thunk中间件就是判断如果返回的是函数,则不传导给reducer,直到检测到是普通action对象,才交由reducer处理。
Q1: 请简述
code push的原理?
A1:
code push调用react native的打包命令,将当前环境的非native代码全量打包成一个bundle文件,然后上传到微软云服务器(Windows Azure)。在app中启动页(或splash页)编写请求更新的代码(请求包含了本地版本,hashCode、appToken等信息),微软服务端对比本地js bundle版本和微软服务器的版本,如果本地版本低,就下载新的js bundle下来后实现更新(code push框架实现)。