Реагируйте на отображение JSX через данные, где иногда отсутствует поле данных - PullRequest
0 голосов
/ 12 мая 2018

я зацикливаюсь на данных. Это response.js / jsx. Если я беру 100 предметов, ни один из них не будет отображаться, поскольку один из них не определен.Я просто хочу, чтобы он отображал «0», если он не определен, и отображал размер, если он там есть.

Ошибка: невозможно прочитать размер свойства неопределенного.

Пример данных:

Item={
    color:blue,
    size:medium,
    }
Item={
    color:red
    }

Я сопоставляю данные.

По сути, я делаю это:

 return items.map((item, i) => {
    return( {item.size})

Я также пытался {item.size?"itWorks": "0"} в качестве теста, и я получаю ту же ошибку.

Ответы [ 3 ]

0 голосов
/ 12 мая 2018

Лучше использовать object.hasOwnProperty('property'), чтобы проверить, обладает ли ваш объект определенным свойством или нет.для вашего случая это:

{item.hasOwnProperty('size') ? "itWorks" : "0"} 
0 голосов
/ 12 мая 2018

Вы должны сделать,

return (

items && items.map (function (item, id) { .....}))

Таким образом, цикл проходит, когда массив элементов имеет некоторую длину, в противном случае он выходит

0 голосов
/ 12 мая 2018

Ошибка:

Ошибка: невозможно прочитать размер свойства undefined

Это означает, что item равно undefined, поэтому вам необходимо проверить item и item.size.

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