其实这不是面试题,就是一些 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
框架实现)。