2017-08-24 15 views
0

私はreduxでDatePickerIOSの日付を保存しようとしました。 AsyncStorageを使用する方法はありますか?私は今まで運がなかったのです。シンプルなDatePickerIOSコンポーネントでAsyncStorageを使用する方法に関する提案はありますか?ネイティブ - DatePickerIOSとAsyncStorage

<DatePickerIOS 
    style={{ paddingTop: 110 }} 
    mode='date' 
    date={this.state.d} 
    onDateChange={(d) => this.onDateChange(d)} 
/> 

constructor(props) { 
this.state = { date: newDate() }; 
} 

onDateChange(d) { 
this.setState({ 
    d: d 
}); 

答えて

0

あなたはonDateChanged変数の状態を設定していますが、DatePickerIO SにstartDate変数を使用 これを見てください、アプリでテストされていなかったが、動作するはずです。

export class PickerIOS extends React.Component { 
    constructor() { 
    super(); 
    this.state = { 
     pickedDate: null 
    } 
    } 

    componentWillMount() { 
    getData('date') 
    .then((date) => { 
     if (date != null) 
     this.setState({pickedDate: date}) 
     else 
     this.setState({pickedDate: new Date()}) 
    }) 
    } 

    onDateChange(date) { 
    setData('date', date) 
    this.setState({pickedDate: date}) 
    } 

    render() { 
    return (
    <DatePickerIOS 
     mode='date' 
     date={this.state.pickedDate} 
     onDateChange={(date) => this.onDateChange(date)} 
     /> 
    ); 
    } 
} 

してから、コードの組織のために、別のファイルに:

setData(key, data) { 
    try { 
    await AsyncStorage.setItem(key, data); 
    } catch (error) { 
     // Error saving data 
    } 
} 

getData(key) { 
    try { 
    const value = await AsyncStorage.getItem(key); 
    if (value !== null){ 
     return value 
    } 
    } catch (error) { 
    // Error retrieving data 
    } 
} 
+0

私はデータは、ページの更新やナビゲーションに持続します。だから私はAsyncStorageが欲しいのです。 'd'と 'startdate'はタイプミスでした。私はそれを変更します。 – wizardo

+0

私の編集を見て、すべての情報はここで見つけることができますhttps://facebook.github.io/react-native/docs/asyncstorage.html – Poptocrack

+0

助けてくれてありがとう:) – wizardo

関連する問題