Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从外部url显示json数组中的数据,无api_Json_Reactjs_Axios - Fatal编程技术网

从外部url显示json数组中的数据,无api

从外部url显示json数组中的数据,无api,json,reactjs,axios,Json,Reactjs,Axios,我在尝试从json中提取特定的数据位时遇到困难。从控制台日志中可以看到,我可以获取任何数字,但无法获取任何属性,如艺术家或图像。我有两个错误,一个是大多数属性上的冒号,第二个是“警告:列表中的每个子项都应该有一个唯一的“键”属性。” 我希望能够返回信息并将其显示在另一个组件上,这样您可以从返回中看到,我有一个变量列表,我需要这些变量来完成我的项目 function Data() { const [Music, setMusic] = useState([], {}); u

我在尝试从json中提取特定的数据位时遇到困难。从控制台日志中可以看到,我可以获取任何数字,但无法获取任何属性,如艺术家或图像。我有两个错误,一个是大多数属性上的冒号,第二个是“警告:列表中的每个子项都应该有一个唯一的“键”属性。”

我希望能够返回信息并将其显示在另一个组件上,这样您可以从返回中看到,我有一个变量列表,我需要这些变量来完成我的项目

function Data() {
        const [Music, setMusic] = useState([], {});
    useEffect(() => {
      axios.get('https://itunes.apple.com/us/rss/topalbums/limit=100/json')
      .then((data) => {
        setMusic(data.data.feed.entry);
        console.log(data.data.feed.entry[20]);
        })
        .catch((err) => console.log(err));
    },[]);
    
    
    
    
    
    
        return (
            <div>
                <h2>Album List</h2>
                 <ul className="albums">
                    {Music.map(Music => {
                    const  { id, name, image, label, title, artist } = Music;
                    return (
                    <div><li key={id.attributes.id}>
                    <img src={'/'} alt={"error"} />
                    <h2>{}</h2>
                    </li>
                    </div>
                    );
                    })}
                </ul>
            </div>
        )
    }
函数数据(){
const[Music,setMusic]=useState([],{});
useffect(()=>{
axios.get()https://itunes.apple.com/us/rss/topalbums/limit=100/json')
。然后((数据)=>{
setMusic(data.data.feed.entry);
log(data.data.feed.entry[20]);
})
.catch((err)=>console.log(err));
},[]);
返回(
专辑列表
    {Music.map(Music=>{ const{id,名称,图像,标签,标题,艺术家}=音乐; 返回(
  • {}
  • ); })}
) }
您没有使用正确的键值。例如,可以从
im:image
访问图像,从
im:name
访问名称,从
im:price
访问价格

  • {Music['im:name'].label} {Music['im:price'].label}

  • 如果它解决了您的问题,请告诉我。非常感谢!它成功了。我还有一个关于上面的问题。如何将数据从这个组件传递到另一个组件?您可以将数据作为道具传递到其他组件。请阅读react文档中关于道具和组件的这一页()。我尝试了不同的方法,但是我一直得到的“项目”没有定义
    <li key={id.attributes['im:id']}>
                    <img src={Music['im:image'][0].label} alt={'error'} />
                    <h2>{Music['im:name'].label}</h2>
                    <h2>{Music['im:price'].label}</h2>
                  </li>