在我的应用程序中有一个奇怪的行为

时间:2017-05-04 14:20:25

标签: javascript reactjs react-native

我导航到我的React Native Application中的第二个屏幕,下面是第二个屏幕的构造函数:

constructor(props) {
    super(props);
    const navParams = props.navigation.state.params;

    if(navParams !== undefined && navParams.eventId) {
        let MyStr = "Inside IF";
    } 
    else 
    {
        let MyStr = "Inside ELSE";             
    }
}

navParams不是未定义(请参阅下面的观察),eventId也不为空(请参阅下面的观看)。然而,正在执行else语句而不是if

造成这种奇怪行为的问题是什么?

enter image description here

1 个答案:

答案 0 :(得分:3)

eventId0,这意味着这将失败(navParams !== undefined && navParams.eventId)

你需要更多像

这样的东西

(navParams !== undefined && navParams.eventId !== undefined)

(navParams !== undefined && navParams.eventId > -1)

如果值为0,它将基本上评估为false