为什么React Native运算符在调试和发布版本上表现不同

时间:2018-08-17 07:48:07

标签: javascript react-native operators release

有人知道为什么操作员在响应本机(0.54.2)调试和发布版本时表现不同吗?

这在调试时效果很好。如果usageTip不是空字符串,并且是第一次加载,我们将在if中输入并向用户显示usageTip:

if (this.props.usageTip =! '' && this.props.firstTimeLoading) {
    return (
        <Text style={styles.disclaimerTextStyle}>{this.props.usageTip}</Text>
    );
}

但是在发布时,if行将以某种方式将imageTip设置为布尔值true。那里发生了什么事?

我还找到了一种使它也可以发布的方法:

if (this.props.firstTimeLoading && (this.props.usageTip ==! '')) {
        return (
            <Text style={styles.disclaimerTextStyle}>{this.props.usageTip}</Text>
        );
    }

但是我很困惑,为什么我的代码的第一个版本表现得如此?也很难找到问题,因为发布版本调试不是很容易。 (至少我不知道任何简单的方法)

1 个答案:

答案 0 :(得分:0)

使用React Native时,您将在两种环境中运行JavaScript代码:

  • 在大多数情况下,React Native将使用JavaScriptCore Safari的引擎。

  • 使用Chrome调试时,所有JavaScript代码都在Chrome中运行 本身,通过WebSockets与本机代码进行通信。 Chrome使用V8 作为其JavaScript引擎。

尽管两种环境都非常相似,但是您最终可能会遇到一些不一致之处。 To get More Detail