我是新的,仍然在探索在React JS中显示和映射数据.

我想显示嵌套的数据数组对象,但它的行为是我想要的. 以下是数据:

Data json payload

{
name: {},
tld: [],
subregion: "Western Europe",
languages: {
   fra: "French",
   gsw: "Swiss German",
   ita: "Italian",
   roh: "Romansh"
},

我也想显示语言对象数据,但它总是返回一个错误.

下面是我如何try 观察数据行为的代码块:

console.log(countries)
    countries.map(country => {
        console.log('Name:', country.name.common)
        console.log('Area:', country.area),
        console.log('Language:', country.languages)
        // Object.keys(country.languages).map((language) => {
        //  console.log(language)
        // })
    });

我试着使用Object.keys,但它也返回了一个错误 ShowCountry. jsx:7 Uncaught TypeError:Cannot convert undefined or null to object

我还try 使用.map()

{countries.map(country => (
            <div>
                <p>Country: {country.name.common}</p>
                <p>Area: {country.area}</p>
                <h3>Languages</h3>
                <ul>
                {/* {country.languages.map((language) => (
                    <li>{language}</li>
                    ))ther 
                } */}
                </ul>
            </div>
          ))
          }

它返回一个错误,www.example.com不是一个函数,我怀疑它可能是null或空的.这个方法是我通常在Stackoverflow问题中看到的,它应该工作,但我注意到语言是一个对象语言:{...}而其他问题是数组对象,如array:[{...},{...}].

我认为这个问题很容易,但我搞不懂这个问题.你能帮我一下吗,也给一点解释或相关链接.

推荐答案

根据您提供的图像和您的问题,在我看来,您似乎正在try 将对象表示为array. 你可以用Object.keys()

为了解决错误ShowCountry.jsx:7 Uncaught TypeError: Cannot convert undefined or null to object,您将添加判断country.languages &&来构造代码,如下所示.

{countries.map((country) => (
  <div key={country.name.common}>
    <p>Country: {country.name.common}</p>
    <p>Area: {country.area}</p>
    {country.languages && (
      <div>
        <h3>Languages</h3>
        <ul>
          {Object.keys(country.languages).map((key) => (
            <li key={key}>{country.languages[key]}</li>
          ))}
        </ul>
      </div>
    )}
  </div>
))}

Javascript相关问答推荐

JS生成具有给定数字和幻灯片计数的数组子集

确定MutationRecord中removedNodes的索引

基于变量切换隐藏文本

D3 Scale在v6中工作,但在v7中不工作

手机上的渲染错误文本必须在文本组件中渲染,但在浏览器上没有问题<><>

如何将Cookie从服务器发送到用户浏览器

当id匹配时对属性值求和并使用JavaScript返回结果

WhatsApp Cloud API上载问题:由于MIME类型不正确而导致接收&Quot;INVALID_REQUEST";错误

在Java中寻找三次Bezier曲线上的点及其Angular

使用getBorbingClientRect()更改绝对元素位置

同一类的所有div';S的模式窗口

获取';无法解决导入和导入";slick-carousel/slick/slick-theme.css";';错误

无法设置RazorPay订阅API项目价格

使用Reaction窗体挂钩注册日历组件

是否可以在不更改组件标识的情况下换出Reaction组件定义(以维护状态/引用等)?如果是这样的话,是如何做到的呢?

在JavaScript中,有没有一种方法可以迭代字符串的词法标记?

如何在Jest中模拟函数

如何让SVG图标在被点击和访问后改变 colored颜色 ,并在被访问后取消点击时恢复到原来的 colored颜色 ?

无法使用Redux异步函数读取未定义的useEffect钩子的属性';map';

在JS/TS中构造RSA公钥