значение всегда пусто внутри оператора тернарного оператора - PullRequest
0 голосов
/ 13 июля 2020

Я использую ReactJS и библиотеку под названием React-Table для сайта онлайн-игр.

В таблице у меня есть одна ячейка столбца, которая потенциально может быть пустой или NULL.

Итак, если эта ячейка столбца пуста, пуста или не определена, тогда я хочу показать значение, называемое "Dungeon Master".

Если оно не пустое или пустое, то я просто хочу показать, что должно быть показано (row.original.gamerTag).

Итак, я попытался использовать тернарный оператор для проверки, но, несмотря ни на что, значение всегда пустое.

Вот где я его использую:

{
    Header: 'Gamer Title',
    accessor: 'gamerTitle',
    Cell: ({ row }) =>
        <a href="#" onClick={() =>
            show(
                row.original.id,
                row.original.gamerTitle,
                row.original.gameType,
                (row.original.gamerTag == 'undefined' || '' || null) ? 'Dungeon Master' : row.original.gamerTag,
                row.original.gameDescription,
            )}>
            {row.original.gamerTitle}
        </a>
},

Я неправильно использую? Я не получаю никаких ошибок или чего-либо еще.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 13 июля 2020

Заменить

(row.original.gamerTag == 'undefined' || '' || null) ? 'Dungeon Master' : row.original.gamerTag

на

typeof row.original.gamerTag === 'undefined' || row.original.gamerTag === '' || row.original.gamerTag === null ? 'Dungeon Master' : row.original.gamerTag

Две проблемы: myVar == 'undefined' не работает, потому что вы сравниваете строку, а не вводите. А во-вторых, в js нет короткого синтаксиса для условия concat. В качестве альтернативы вы можете попробовать [undefined, null, ''] .includes (row.original.gamerTag).

1 голос
/ 13 июля 2020

Попробуйте заменить:

(row.original.gamerTag == 'undefined' || '' || null) ? 'Dungeon Master' : row.original.gamerTag

на:

(row.original.gamerTag == 'undefined' || row.original.gamerTag == '' || row.original.gamerTag == null) ? 'Dungeon Master' : row.original.gamerTag
...