簡體   English   中英

反應本地Wix日歷標記日期顯示錯誤

[英]React Native Wix Calendar Marked Dates showing error

我正在為我的項目使用wix日歷,我已經按照類似主題在另一個問題中提到的所有步驟進行了操作。

我已經這樣編碼

 class TutorCalender extends Component { static navigationOptions = { header: null, final_array: {}, tution_array: [], unavailable_array: [] } componentWillMount = async () => { try { let { data } = await axios .post("https://chat.qualpros.com/api/get_tutor_calendar", { tutor_id: 4 }) .then(response => { console.log(response.data.data.tutor_private_tution_date_array); if (response.data.data.status === "success") { this.setState({ tution_array: response.data.data.tutor_private_tution_date_array, unavailable_array: response.data.data.tutor_schedule_unavailable_array, }); } else { alert("Something went wrong"); } }); } catch (err) { console.log(err); } // console.log(this.state.tution_array.length); //console.log(this.state.tution_array); if (this.state.tution_array.length !== 0) { console.log('tution available') var objP = Object.assign( ...this.state.tution_array.map(o => ({ [o]: { selected: true, selectedColor: "green", type: "present" } })) ); this.setState({ final_array : objP}); console.log(this.state.final_array) } // var merged = { ...objP }; // // console.log("Came Here"); // this.setState({ final_array: merged }); // console.log(this.state.final_array) } render() { return ( <Container> <Header style={{ backgroundColor: '#d91009' }}> <Left style={styles.left}> <TouchableOpacity style={styles.backArrow} onPress={() => this.props.navigation.navigate("ProfileScreen")} > <FontAwesome name="angle-left" size={30} color='#fff' /> </TouchableOpacity> </Left> <Body> <Text style={{ alignSelf: Platform.OS == 'android' ? 'center' : 'center' }}>Tutor calender</Text> </Body> <Right /> </Header> {/* <Text style={styles.text}>Calendar with marked dates and hidden arrows</Text> */} <Calendar style={styles.calendar} firstDay={1} //markedDates={this.state.final_array} //hideArrows={true} /> </Container> ); } } export default TutorCalender; 

如果我評論markedDates道具,它可以正常工作,對於console.log(this.state.final_array),我將收到如下響應:Object {“ 2018-10-01”:Object {“ selected”:true,“ selectedColor” :“綠色”,“類型”:“現在”,},}

但是當我取消注釋markedDates = {this.state.final_array}時,它給我錯誤“ TypeError:null不是一個對象(正在評估“ this.state.final_array””)

我不明白自己在哪里錯了,我已經按照上面提到的所有步驟操作,在此先感謝

當狀態尚未通過所需的信息進行更新(加載),因此該值為空時,會發生這種情況。 為了解決這個問題,您可以設置初始值或設置條件以檢查數組是否不為空(在分配之前)。

分別定義狀態,這里您在靜態導航中定義了狀態,這是錯誤的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM