Получение дочерних данных в реагирующем вложенном объекте - PullRequest
0 голосов
/ 25 октября 2018

Я не уверен, как получить данные вложенного объекта в реагировать jsx, кто-нибудь может мне помочь?

wine:
{
_id: "5b21ca3eeb7f6fbccd471815",
name: "Margaux",
wineType: { _id: "5b21ca3eeb7f6fbccd471818", name: "Red Wine" },
numberInStock: 5,
vintage: 1982,
volume: 750,
imageURL:
  "www.abc.come",
region: { _id: "2", name: "Bordeaux" },
price: 18000
},

Я ищу имя в объекте региона,

Я пытаюсьтестирование {wine.region.name}, но с ошибкой.

TypeError: Cannot read property 'name' of undefined

Ответы [ 3 ]

0 голосов
/ 25 октября 2018

Как вы можете видеть во вложении, ваш JSON недопустим и запускает его, поскольку он выдает ошибку неверного токена, поэтому вы не можете перейти к следующим узлам.В приложении также показано, как правильно его использовать и посетить конкретный узел в jason [1]: https://i.stack.imgur.com/xsVcU.png

0 голосов
/ 25 октября 2018

Вы должны использовать объект как неизменяемый, поэтому определите let data = {....} или в файле JSON { "data": {....} ,...}.

let wine={
        _id: "5b21ca3eeb7f6fbccd471815",
        name: "Margaux",
        wineType: { _id: "5b21ca3eeb7f6fbccd471818", name: "Red Wine" },
        numberInStock: 5,
        vintage: 1982,
        volume: 750,
        imageURL:
          "www.abc.come",
        region: { _id: "2", name: "Bordeaux" },
        price: 18000
    }

    let {region:{name}}=wine;
    console.log('name',name);

O / P: Бордо

0 голосов
/ 25 октября 2018

Ваш формат json не выглядит правильным, попробуйте этот

wine={
    _id: "5b21ca3eeb7f6fbccd471815",
    name: "Margaux",
    wineType: { _id: "5b21ca3eeb7f6fbccd471818", name: "Red Wine" },
    numberInStock: 5,
    vintage: 1982,
    volume: 750,
    imageURL:
      "www.abc.come",
    region: { _id: "2", name: "Bordeaux" },
    price: 18000
}

Сначала назначьте объект дырки в Wine, а затем попытайтесь получить доступ как {wine.region.name}, он будет работать.Похоже, неправильный формат JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...