首页 > 解决方案 > 使用 Datetimepicker 时,null 不是本机反应中的对象

问题描述

我试过 reat-native-community/datetimepicker 但它说 type-error: Null is not an object。我基本上复制并粘贴了代码,但它也显示错误。请帮忙。请帮助它从昨天开始一直困扰着我。

我的 DOB.js 文件是:

import React, { Component, useState } from "react";
import { View, Button, Platform } from "react-native";
import DateTimePicker from "@react-native-community/datetimepicker";

export default class DOB extends Component {
  constructor(props) {
    super(props);
     this.state = {
      date: new Date().toLocaleString,
      mode: "date",
      show: false,
    };
  }

  onChange = (event, selectedDate) => {
    const currentDate = selectedDate || date;
    setShow(Platform.OS === "ios");
    setDate(currentDate);
  };

  showMode = (currentMode) => {
    setShow(true);
    setMode(currentMode);
  };

  showDatepicker = () => {
    showMode("date");
  };

  showTimepicker = () => {
    showMode("time");
  };
  render() {
    const { showDatepicker, date, mode, onChange } = this.state;
    return (
      <View>
        <View>
          <Button onPress={showDatepicker} title="Show date picker!" />
        </View>

        {show && (
          <DateTimePicker
            testID="dateTimePicker"
            value={date}
            mode={mode}
            is24Hour={true}
            display="default"
            onChange={onChange}
          />
        )}
       </View>
    );
  }
}

标签: react-nativetypeerrordatetimepicker

解决方案


使用这种方式是因为您在类组件中使用 Hooks

<Button onPress={this.showDatepicker} title="Show date picker!" />

注意: setShow() 和 setDate() 不是定义的方法


推荐阅读