在启动这个项目时,我们曾在mpvue和Taro之间进行了选择。经过比较,我们发现mpvue几乎没有维护,而Taro则与React保持同步更新,拥有与React 16基本一致的特性。考虑到团队的技术栈以及个人偏好,我们最终选择了Taro。在React版本的优化方面,游戏介绍已经在React版本中详细介绍过,这里就不再赘述。需要提及的是,在小程序宿主环境和Web环境之间存在差异,因此没有window或者document等元素。我对相关代码进行了修改,同时删除了原逻辑中兼容PC端的内容。原项目中使用了shouldComponentUpdate进行组件优化,每个组件都写了一遍shouldComponentUpdate的判别逻辑。我认为可以进行统一化处理,于是封装了一个统一的父类组件并重写了其中的shouldComponentUpdate逻辑,在compoment/common/BaseClassComponent中。读者完全可以将该段逻辑用在自己的项目中。