2016-11-15 2 views
0

Ich renne in diesen Fehler, wenn ich versuche, datePickerAndroid zu benutzen und den Zustand danach einzustellen.TypeError: erwarteter dynamischer Typ 'double' aber hatte den Typ 'string'

Error Message

Ich fühle mich wie das Problem aus dem Anfangszustand sein kann, ein new Date() zu sein, aber nicht 100% sicher.

_isAndroid = async() => { 
    let {action, year, month, day} = await DatePickerAndroid.open({ 
     date: this.props.startDate, 
    }); 

    if (action === DatePickerAndroid.dismissedAction) { 
     this.props.closeModal() 
    } else { 
     const date = year + "-" + month + "-" + day 
     this.props.onDateChange(date) 
    } 
    } 

    Prop Function: 

    onDateChange = (newDate) => { 
    this.setState({currentDate: newDate}) // <- This one is breaking 
    let dates = this.state.dates; 
    let index = this.state.currentIndex; 

    if (this.state.currentKey === "start") { 
     dates[index].start = newDate 
    } else { 
     dates[index].end = newDate 
    } 

    this.setState({dates: dates}); 
    } 

Ich habe es verengt auf die erste setState, und ich habe versucht, den Ausgangszustand machen einen String sowie die Einstellung der Zustand in einen einfachen String aber immer noch den Fehler.

+0

Erwartet es Millisekunden: 'newDate.getTime()'? – jcuenod

+0

Welche Codezeile ist das? – wallyk

+0

'this.setState ({currentDate: newDate})' – jcuenod

Antwort

0

Für DatePickerAndroid

expected dynamic type double

Mit anderen Worten native Komponente will Zeit, aber Sie setzen String. Sie this.props.startDate ist eine Zeichenfolge, Übertragungszeit im Zeitformat. Beispiel:

const {action, year, month, day} = await DatePickerAndroid.open({ 
    date: new Date() // <- This is Date, not string! 
    }); 

Viel Glück!

Verwandte Themen