如果React Native调试器已关闭,则moment返回无效的日期

时间:2019-07-04 05:03:58

标签: react-native momentjs

在我的RN应用程序中,我有以下代码。

const birthDate = moment(new Date(val));

如果RN调试器已关闭,则会返回无效的日期错误。但是,如果RN调试器已打开,它将返回正确的日期。

这是什么问题?

1 个答案:

答案 0 :(得分:1)

这个问题已经讨论过here。该问题源于不同的JavaScript运行时环境以及新的日期构造函数非常挑剔的事实。您可以通过直接使用moment创建新日期或在建议的github问题中写一个https://github.com/SahRckr这样的小函数来克服该问题:

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    ViewHolder holder;
    if(convertView == null){
        holder = new ViewHolder();
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(R.layout.custom_layout, parent, false);
        holder.image = (ImageView) convertView.findViewById(R.id.imageView);
        holder.lname = (TextView) convertView.findViewById(R.id.textLName);
        holder.fname = (TextView) convertView.findViewById(R.id.textFName);
        holder.course = (TextView) convertView.findViewById(R.id.textCourse);
        convertView.setTag(holder);
    }else{
        holder = (ViewHolder)convertView.getTag();
    }
    //
    holder.lname.setText(studentArrayList.get(position).getLname());
    holder.fname.setText(studentArrayList.get(position).getFname());
    holder.image.setImageURI(studentArrayList.get(position).getImage());
    holder.course.setText(studentArrayList.get(position).getCourse());

    return convertView;
}