问题描述

  使用react-native init创建了一个新项目,在package.json中使用的react-native的版本如下:

"dependencies": {
        "react": "15.4.1",
        "react-native": "0.39.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.

解决办法

第一种解决方案

打开.\node_modules\react-native\Libraries\Core\InitializeCore.js 112行。 
代码如下图:

 


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 declaration in a lexically nested statement. 

 

最终执行npm start -- --reset-cache或者reload,解决问题。

第二种解决方案

react-native版本改成0.38.0也能解决问题。

"dependencies": {
        "react": "15.4.1",
        "react-native": "0.39.1"
}

改成

"dependencies": {
        "react": "15.4.1",
        "react-native": "0.38.0"
}

问题原因

  react-native的源码问题,在use strict严苛模式下,不允许如上的方式声明函数,会编译不通过,fackbook官方应该会会快修复这个问题。

相关文章:

  • 2022-12-23
  • 2021-07-20
  • 2022-12-23
  • 2021-10-17
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-11
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案