@linux1s1s
2017-05-02T10:12:43.000000Z
字数 1213
阅读 2008
React-Native
2017-04
我们先看一下react-native-RealRecyclerView
下载源码放到本地D:\React_Native_Workspace\react-native-RealRecyclerView-master
接着如下操作步骤:
node_modules
文件复制到上面目录中去(这个太low,应该修改package.json依赖版本,然后通过npm-install初始化node_modules
即可) package.json
文件可以查看当前项目RN版本
react-native run-android
以上步骤走完,一般会抛出一个错误:
SyntaxError:Strict mode does not allow function declaration in a lexically nested statement.
处理该问题一般有两种思路:参考SyntaxError:Strict mode does not allow function declaration in a lexically nested statement.
.\node_modules\react-native\Libraries\Core\InitializeCore.js
112行将function handleError(e, isFatal)
替换成var handleError = function(e, isFatal)
(该方法经验证可行)
当然仅仅适用RN版本0.39.0
以及以上版本,因为在这个版本以下找不到.\node_modules\react-native\Libraries\Core\InitializeCore.js
文件,正如截图中说的那样:
如果我们按照图示的方法找到InitializeJavaScriptAppEngine.js
文件,然后按照上面所说的修改,运行以后,仍然会抛出相同的问题。
如何解决呢?
strict mode does not allow function declarations in a lexically nested statement
如图所示,修改Libraries/Utilities/UIManager.js:68
var normalizePrefix = function(moduleName: string): string {
}
然后再运行即可解决问题。
0.38.0
(尚未验证)测试有600行数据,看一下内存表现:
从图上表现看,内存有回收,相比原生的RN ListView有较大改善。