Получить тип строки элемента реакции

108
11

Если у меня есть компонент, который отображает следующее:

<div>
<Example/>
<span>hi</span>
</div>

Свойство this.props.children будет массивом с двумя элементами. Когда накинут child.type работает только для диапазона, чтобы вернуть строку span, какое имущество есть, что даст мне строку Example для среагировать элемент?

спросил(а) 2021-01-25T17:20:18+03:00 4 месяца, 2 недели назад
1
Решение
77

Если класс компонента имеет отображаемое имя, вы должны иметь возможность использовать child.type.displayName. Этот пример демонстрирует.

ответил(а) 2021-01-25T17:20:18+03:00 4 месяца, 2 недели назад
45

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


function getStringType (node) {
if (typeof node.type === 'string') return node.type
if (node.type && node.type.displayName) return node.type.displayName
return false
}

ответил(а) 2021-01-25T17:20:18+03:00 4 месяца, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема