簡體   English   中英

更新component中的狀態將收到Props,其中state是一個數組

[英]updating the state in componentwillreceive Props where state is an array

我有一個數組作為狀態。

let coursedata=[];
class XYZ extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      coursedata
    };
  }

  componentWillReceiveProps(newProps) {
    if (newProps.course.courses.data) {
      const newstate = [
        ...this.state.coursedata,
        newProps.courses.courses.data
      ];
      this.setState({
       coursedata: newstate
    });
  }
}

請不要newProps.course.courses.data是對象數組。 我的目標是將狀態作為對象數組。

我假設您想將newProps.course.courses.data連接到state.courseData。 如果是這樣,簡單的解決方案將是:

componentWillReceiveProps(newProps) {
    const {courseData} = this.state;
    if(newProps.course.courses.data) {
        return this.setState({
            courseData: courseData.concat(newProps.course.courses.data),
        });
    }
}

暫無
暫無

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

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