[关闭]
@linux1s1s 2017-05-02T10:12:43.000000Z 字数 1213 阅读 2008

React-Native Primary 长列表探索

React-Native 2017-04


在此输入正文

我们先看一下react-native-RealRecyclerView

下载源码放到本地D:\React_Native_Workspace\react-native-RealRecyclerView-master

接着如下操作步骤:

  1. react-native run-android

以上步骤走完,一般会抛出一个错误:

  1. 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.

function handleError(e, isFatal)替换成var handleError = function(e, isFatal)
(该方法经验证可行)

这个解决思路也来自于SyntaxError: Strict mode does not allow function declarations in a lexically nested statement on a newly created app

当然仅仅适用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

  1. var normalizePrefix = function(moduleName: string): string {
  2. }

然后再运行即可解决问题。

此处输入图片的描述

测试有600行数据,看一下内存表现:

此处输入图片的描述

从图上表现看,内存有回收,相比原生的RN ListView有较大改善。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注