axios 类型'[]'上不存在属性'items'?

qoefvg9y  于 2022-11-05  发布在  iOS
关注(0)|答案(1)|浏览(172)

所以我在这个项目上工作,学习打字稿,我不知道如何解决它,所以我来到这里,如果有人能解释什么是错误,以及如何修复,我会感激我的余生:D
context.tsx

import React, {createContext,ReactNode,ReactPortal,useState} from 'react'
import axios from 'axios'
import { AnyMxRecord } from 'dns';
import database from '../database';
import { string } from 'yargs';

const top250Movies = createContext<[]>([
]);

const MoviesContext: React.FC<any> = ({children}) => {
    const [top250 , setTop250 ] = useState<any>('');

    if(top250 == ''){
    setTop250(database);
    }

  return (
    <top250Movies.Provider value={top250}>{children}</top250Movies.Provider>
  )
}

export default MoviesContext

export { top250Movies}

Homepage.tsx

import React, { useContext } from 'react'
import { top250Movies } from '../context/context'
import Footer from '../layouts/Footer'
import Navbar from '../layouts/Navbar'
import '../styles/Homepage.css'

function Homepage() {

    let backendData = useContext(top250Movies);

 if(backendData !== null){
        if(Array.isArray(backendData)){
            console.log(backendData.items.map((item: any) =>{ return item}));
        }

    }

  return (
    <div className='Homepage'><Navbar/> <div className="Homepage-content">Homepage</div>  <Footer/></div>
  )
}

export default Homepage

后端数据的预期输出是对象,其中包含具有电影数组的对象,例如backendData:{titles:[array]}

o4tp2gmn

o4tp2gmn1#

backendData是一个数组,你可以直接在它上面执行map()

if(backendData !== null){
  if(Array.isArray(backendData)){
      console.log(backendData.map((item: any) =>{ return item}));
  }        
}

相关问题