【问题标题】:Displaying data from a json array from external url with no api显示来自外部 url 的 json 数组中的数据,没有 api
【发布时间】:2021-02-28 18:29:31
【问题描述】:

我在尝试从 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>
        )
    }

【问题讨论】:

    标签: json reactjs axios


    【解决方案1】:

    您没有使用正确的键值。例如,可以从im:image 访问图像,从im:name 访问名称,从im:price 访问价格。 Sandbox

    <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>
    

    【讨论】:

    • 如果它解决了您的问题,请告诉我。
    • 我对上面还有一个问题。如何将数据从这个组件传递到另一个组件?
    • 您可以将数据作为道具传递给其他组件。请阅读 React 文档中有关 props 和组件的此页面 (reactjs.org/docs/components-and-props.html)。
    • 我尝试了不同的方法,但是我不断收到“项目”未定义
    • 你能问一个不同的问题并在那里分享代码吗?那么我将能够根据更多信息回答您的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多