簡體   English   中英

ReferenceError:找不到變量:loadMoviesLikedDetails(React Native)

[英]ReferenceError: Can't find variable: loadMoviesLikedDetails (React Native)

我是 React Native 的新手,我有這個項目,我有一個 ReferenceError 錯誤,當我進入一個顯示用戶喜歡的所有電影的頁面時,我有這個:

ReferenceError: ReferenceError: Can't find variable: loadMoviesLikedDetails

這是組件的一部分代碼:

class LikedScreen extends Component {
  constructor(props) {
    super(props);
    this.state = {
      moviesLikedDetails: []
    };
  }

  componentDidMount() {
    loadMoviesLikedDetails(); <-- SEEMS LIKE THIS CREATES THE ERROR
  }

  loadMoviesLikedDetails() {
    this.props.likedFilms.forEach(async movie => {
      const dataDetail = axios.get(
        `https://api.themoviedb.org/3/movie/${movie}?api_key=${API_KEY}&language=fr`
      );
      this.setState({
        moviesLikedDetails: [...this.state.moviesLikedDetails, dataDetail.data]
      });
    });
  }

  render() {
      return (
        <View style={styles.container}>
            {this.state.moviesLikedDetails.map(movie => (
              <View style={{ display: "flex", flex: "wrap", width: "25%" }}>
                {movie.id}
              </View>
            ))}
        </View>
      );
  }
}

看起來錯誤來自 componentDidMount 中 function 的執行...

您在componentDidUpdate中缺少this.loadMoviesLikedDetails()

此外,您可以通過這種方式定義 state,而不是constructor

  state = {
    moviesLikedDetails: []
  }

你也可以檢查鈎子

暫無
暫無

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

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