首页 > 解决方案 > 在没有调试模式下,我的平面列表没有完全执行

问题描述

我正在通过本机反应开发一个应用程序。我有一个问题。当我的应用程序具有调试模式时工作得很好。但是在没有调试模式的情况下,我的平面列表无法完全执行。例如:当渲染我的平面列表日期无效时。

  <FlatList
              style={{ flex: 1 }}
              extraData={this.state}

              data={this.state.data}
              renderItem={this.renderItem.bind(this)}
              keyExtractor={item => item._id.toString()}
              ListFooterComponent = { this.Render_Footer.bind(this) }
          />

并通过以下方式渲染项目:

renderItem({item}) {
    console.log(item)
    return <View 

        <View style={{flexDirection: 'row', justifyContent: 'space-between'}}>
            <Text style={{fontFamily: Font.main, fontSize: 12}}>{I18n.t('Type')}</Text>
            <Text style={{fontSize: 12, fontFamily: Font.main}}>{I18n.t(item.type)}</Text>

        </View>
        <View style={{flexDirection: 'row', justifyContent: 'space-between'}}>
            <Text style={{fontFamily: Font.main, fontSize: 12}}>{I18n.t('OrderDate')}</Text>
            <Text style={{
                fontFamily: this.state.isrtl ? Font.main_persian_digit : Font.main, color: Color.Gray
                , fontSize: 12
            }}>{this.state.isrtl ? getshamsidate(item.effective_time) : getmiladdate(item.effective_time)}</Text>

        </View>
        <View style={{flexDirection: 'row', justifyContent: 'space-between'}}>
            <Text style={{
                fontFamily: Font.main,
                color: item.status === 'pardakht' ? Color.green : Color.primarycolor,
                fontSize: 12
            }}>{I18n.t('TotalAmount')}</Text>
            <Text style={{
                fontFamily: this.state.isrtl ? Font.main_persian_digit : Font.main,
                color: item.status === 'pardakht' ? Color.green : Color.primarycolor
                ,
                fontSize: 12
            }}>{addCommas(item.amount)} {I18n.t('Toman')}</Text>

        </View>
        <View style={{flexDirection: 'row', justifyContent: 'space-between'}}>
            <Text style={{fontFamily: Font.main, fontSize: 12}}>{I18n.t('Status')}</Text>
            {
                item.status === 'SUCCESS' ?
                    <View style={{flexDirection: 'row', justifyContent: 'center', alignItems: 'center'}}>
                        <Icon
                            style={{fontSize: 10}}
                            name='checkmark'


                        />
                        <Text style={{
                            fontFamily: this.state.isrtl ? Font.main_persian_digit : Font.main,
                            paddingLeft: 5,
                            paddingRight: 5
                            ,
                            fontSize: 12
                        }}>{I18n.t(item.status)}</Text>

                    </View>
                    :
                    <View style={{flexDirection: 'row', justifyContent: 'center', alignItems: 'center'}}>
                        <Icon
                            style={{fontSize: 10, color: 'red'}}
                            name='close'


                        />
                        <Text style={{
                            fontFamily: this.state.isrtl ? Font.main_persian_digit : Font.main,
                            color: Color.Red,
                            paddingLeft: 5,
                            paddingRight: 5
                            ,
                            fontSize: 12
                        }}>{I18n.t(item.status)}</Text>
                    </View>

            }


        </View>
        <View style={{flexDirection: 'row', justifyContent: 'space-between'}}>
            <Text style={{fontFamily: Font.main, fontSize: 12}}>{I18n.t('PreviousCredit')}</Text>

            <View style={{flexDirection: 'row', justifyContent: 'center', alignItems: 'center'}}>

                <Text style={{
                    fontFamily: this.state.isrtl ? Font.main_persian_digit : Font.main,
                    paddingLeft: 5,
                    paddingRight: 5
                    ,
                    fontSize: 12
                }}>{item.balance_before !== null ?
                    addCommas(item.balance_before.toString()) : 0
                } {I18n.t('Toman')}
                </Text>
            </View>


        </View>
        <View style={{flexDirection: 'row', justifyContent: 'space-between'}}>
            <Text style={{fontFamily: Font.main, fontSize: 12}}>{I18n.t('NextCredit')}</Text>
            <View style={{flexDirection: 'row', justifyContent: 'center', alignItems: 'center'}}>

                <Text style={{
                    fontFamily: this.state.isrtl ? Font.main_persian_digit : Font.main,
                    paddingLeft: 5,
                    paddingRight: 5
                    ,
                    fontSize: 12
                }}>{item.balance_after !== null ?
                    addCommas(item.balance_after.toString()) : 0
                } {I18n.t('Toman')}
                </Text>
            </View>


        </View>
        <View style={{flexDirection: 'row', justifyContent: 'space-between'}}>
            <Text style={{fontFamily: Font.main, fontSize: 12}}>{I18n.t('bankcorrelationid')}</Text>
            <View style={{flexDirection: 'row', justifyContent: 'center', alignItems: 'center'}}>

                {item.debit !== undefined ?
                    <Text style={{
                        fontFamily: this.state.isrtl ? Font.main_persian_digit : Font.main,
                        color: Color.linkcolor,
                        paddingLeft: 5,
                        paddingRight: 5
                        ,
                        fontSize: 12
                    }}>{item.debit.bank_corelation_id}
                    </Text> : null}
            </View>


        </View>

        {
            Object.keys(item.cart).length !== 0 ?
                <TouchableOpacity style={{flexDirection: 'row', justifyContent: 'space-between', paddingTop: 5}}
                                  onPress={() => {
                                      this.props.navigation.navigate('TransAction', {product: item.cart})
                                  }
                                  }
                >
                    <Text style={{
                        fontFamily: Font.main,
                        color: Color.circleblu,
                        fontSize: 12
                    }}>{I18n.t('Orderdetails')}</Text>


                    <View style={{flexDirection: 'row', justifyContent: 'center', alignItems: 'center'}}>
                        <Icon
                            style={{fontSize: 14, color: Color.circleblu}}
                            name={this.state.isrtl ? 'arrow-back' : 'arrow-forward'}


                        />

                    </View>


                </TouchableOpacity>
                : null
        }

    </View>

}

上面的代码,在平面列表中渲染我的项目。在调试模式下工作得很好,但在 undefinedNaN:Nan 中的发布模式日期显示

标签: androidreact-nativereact-native-flatlist

解决方案



推荐阅读