打包电子应用程序后无效日期错误

时间:2016-03-08 06:54:57

标签: javascript electron

我已经用Electron编写了一个应用程序,Everything在开发环境中工作。

但在electron-packager我的日期无效后......

import React, { Component, PropTypes } from 'react';
import moment from 'moment';

[...]

render() {
    const { code } = this.props;

    moment.locale('fr');

    return (
        <div className="ViewCode">
            <header>
                { code.code }
                <span style={{flex: 1}}></span>
                <i className="fa fa-pencil-square-o"></i>
                <i className="fa fa-trash" onClick={this.handleDelete.bind(this)}></i>
            </header>
            <article>
                <div>Name { code.code }</div>
                <div>Expiration Date { moment(code.expirationDate).format('LLLL') }</div>
                <div>Max use { code.maxUse }</div>
                <div>Max use by user { code.maxUseByUser }</div>
                <div>Action { code.action }</div>
                <div>Number of use { code.users.length }</div>
            </article>
        </div>
    )

}

}

包装前:jeudi 31 décembre 2015 00:59

包装后:Invalid Date

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

看起来code.expirationDate不是日期对象,您可以检查其生命周期。或者如果没有有效日期,只显示其他内容:

render() {

    const { code } = this.props;

    moment.locale('fr');

    if(!code.expirationDate instanceof Date) {

        return <div>something</div>;

    } else {

        return (
            <div className="ViewCode">
                <header>
                    { code.code }
                    <span style={{flex: 1}}></span>
                    <i className="fa fa-pencil-square-o"></i>
                    <i className="fa fa-trash" onClick={this.handleDelete.bind(this)}></i>
                </header>
                <article>
                    <div>Name { code.code }</div>
                    <div>Expiration Date { moment(code.expirationDate).format('LLLL') }</div>
                    <div>Max use { code.maxUse }</div>
                    <div>Max use by user { code.maxUseByUser }</div>
                    <div>Action { code.action }</div>
                    <div>Number of use { code.users.length }</div>
                </article>
            </div>
        );
    }
}

不要犹豫,使用BrowserWindow.openDevTools()console.log来帮助您调试这类错误。