#javascript #object #ecmascript-6 #ternary-operator #destructuring
#javascript #объект #ecmascript-6 #тернарный оператор #деструктурирование
Вопрос:
Я пытаюсь отображать и скрывать текст на основе разрешения пользователя, который удаляется из пользовательского объекта, который имеет имя, адрес электронной почты и многое другое.
Я попытался установить нулевое значение в массив разрешений, но он все еще не работает
<User>
{({
data: {
me: { permissions = "" }
}
}) => (
<div>
{permissions === null amp;amp; <p>Welcome stranger</p>}
{permissions === "USER" amp;amp; <p>welcome dear user</p>}
{permissions === "ADMIN" amp;amp; <p>Welcome Dear Admin</p>}
</div>
)}
</User>
Комментарии:
1. можете ли вы включить какой-нибудь код, который показывает, что вы делаете? ваше описание в лучшем случае расплывчато
2. вы устанавливаете разрешения на
""
notnull
… поэтому проверьте""
или установите значениеnull
…. и гдеpermissions array
я не вижу массива3. вот как выглядит мой graphql в серверной части
type User { id: ID! name: String! email: String! permissions: [Permission!]! cart: [CartItem!]! }
4. в моем интерфейсе я запрашиваю эти данные с помощью пользовательского компонента
Ответ №1:
У вас установлены настройки permissions
""
, поэтому либо проверьте ""
и null
, либо установите permissions
значение null
.
Первый вариант:
{(permissions === null || permissions === "") amp;amp; <p>Welcome stranger!</p>}
Второй вариант:
me: { permissions: null }