Javascript 我试图映射从TMDB API加载的数组

Javascript 我试图映射从TMDB API加载的数组,javascript,reactjs,fetch,Javascript,Reactjs,Fetch,我使用从TMDB API获取的数据上传了数据,当我试图通过它进行映射时,它会给我一个错误,未定义的不是对象(正在评估'NowMovies.map') 这是我的代码: constructor(props){ super(props); this.state={ NowMovies:[], isLoaded:false } } componentDidMount(){ fetch('API') .then(da

我使用从TMDB API获取的数据上传了数据,当我试图通过它进行映射时,它会给我一个错误,未定义的不是对象(正在评估'NowMovies.map')

这是我的代码:


    constructor(props){
    super(props);
    this.state={
      NowMovies:[],
      isLoaded:false
    }
  }

    componentDidMount(){
     fetch('API')
    .then(data => data.json())
    .then(({MoviesLists}) => {this.setState({
      isLoaded:true,
      NowMovies:MoviesLists
    })
    })
    }
  render(){
    var {isLoaded,NowMovies} = this.state
    if (!isLoaded){
      return <div> .... Loading</div>
    }
    else{
    return(
      <div>

      <ul>  
      {NowMovies.map(Movie=>(<li key={NowMovies.id}> name:{NowMovies.original_title}</li>
      ))}
      </ul>
      </div>




建造师(道具){
超级(道具);
这个州={
NowMovies:[],
isLoaded:false
}
}
componentDidMount(){
获取('API')
.then(data=>data.json())
.then({MoviesLists})=>{this.setState({
isLoaded:是的,
NowMovies:电影列表
})
})
}
render(){
var{isLoaded,NowMovies}=this.state
如果(!已加载){
返回…加载
}
否则{
返回(
    {NowMovies.map(Movie=>(
  • 名称:{NowMovies.original_title}
  • ))}


有人能帮我把这些数据加载到我的数组中并通过它映射吗???

如果你试图在映射函数中访问
nowmooks
,你应该使用你传递的
Movie
对象

{NowMovies.map(Movie=>(
  • 名称:{Movie.original_title}

  • }
    不能直接赋值,因此可以使用.concat()或.push()。 并使用.map()进行更正

    构造函数(道具){
    超级(道具);
    这个州={
    NowMovies:[],
    isLoaded:false
    }
    }
    componentDidMount(){
    获取(API)
    .then((data)=>data.json())
    .然后({MoviesLists})=>{
    让movieList=this.state.NowMovies.concat(MoviesLists);
    这是我的国家({
    isLoaded:是的,
    NowMovies:电影人
    })
    })
    }
    render(){
    var{isLoaded,NowMovies}=this.state
    如果(!已加载){
    返回…加载
    }
    否则{
    返回(
    
      {NowMovies.map(Movie=>(
    • 名称:{Movie.original_title}
    • ))}

    请修复格式:响应中没有
    MoviesLists
    属性。@Andreas我会为格式混乱感到抱歉,我将data=>data.json更改为MoviesLists.json错误现已结束,但数组中没有加载数据。您有什么建议,谢谢you@Hazem哪个是你的API?@ForamTrada tmdb谢谢你,我修复了这一问题,但在加载NowMovies数组中的数据时仍然会出现问题,因为它仍然显示我…加载`componentDidMount(){fetch(')。然后(数据=>MoviesList.json())。然后({MoviesList})=>{this.setState({isLoaded:true,NowMovies:MoviesList})}试试这个。
    。然后(数据=>data.json())。然后(({results})=>{this.setState({isLoaded:true,NowMovies:results})}
    constructor(props){
        super(props);
        this.state={
          NowMovies:[],
          isLoaded:false
        }
      }
    
        componentDidMount(){
         fetch(API)
        .then((data) => data.json())
        .then(({MoviesLists}) => {
      let movieList = this.state.NowMovies.concat(MoviesLists);
    this.setState({
          isLoaded:true,
          NowMovies : movieList
        })
        })
        }
      render(){
        var {isLoaded,NowMovies} = this.state
        if (!isLoaded){
          return <div> .... Loading</div>
        }
        else{
        return(
          <div>
          <ul>  
          {NowMovies.map(Movie=>(<li key={Movie.id}> name:{Movie.original_title}</li>
          ))}
          </ul>
          </div>