В атрибуте JSX (компонент семантического пользовательского интерфейса) я перечислил переменную состояния, которая зависит от того, находится ли пользователь на мобильном телефоне или в браузере, как указано в этом пакете NPM здесь .
Код для JSX взят из семантической реакции пользовательского интерфейса, так что может иметь к этому какое-то отношение.У меня есть определенный класс для элемента JSX, который будет отображаться определенным образом, но установка переменной игнорирует эту команду.Следующий код устанавливается в функции ComponentDidMount.
if (isBrowser) {
this.setState({dependentOnView: "small"})
} else {
this.setState({dependentOnView: "huge"})
}
Рассматриваемый атрибут JSX следующий:
<List divided selection class="specialHighlight" size={this.state.dependentOnView}><List.Item> <Label color='blue' horizontal> Delayed - Theorizing Now</Label> Exchange </List.Item></List>
Состояние устанавливается в конструкторе следующим образом:
this.state = {
dependentOnView: ''
}
Что я здесь не так делаю?
Конечно, пакет правильно импортирован, например,
import {BrowserView,MobileView,isBrowser,isMobile} from "react-device-detect";
Рассматриваемый класс css полностью игнорируетсяthe after runtime.
.specialHighlight {
position: absolute;
margin-top: 65vh;
line-height: 2vh;
font-size: 2vh;
margin-left: 3vw;
}
Ответ: Это очень нишевый случай, но установка размера в элементе List ничего не сделала, но установила размер метки в ListПункт, который я пытался сделать в первую очередь, работал.Далее, когда я возвращался к изменениям, я забыл использовать {this. state .whateverattribute}.
Дальнейший ответ: Использование className в качестве атрибута означает, что собственный семантический пользовательский интерфейс css будет перезаписать css, который вы ввели, поэтому в этом случае я использовал class, но в большинстве случаев правильный способ - действительно использовать className.
Для людей, которые ищут ответ в будущем: 1. Убедитесь, что пакет правильно импортирован
Убедитесь, что атрибут Semantic JSX имеет правильно введенное состояние
Убедитесь, что состояние установлено правильно
Попробуйте изменить настройку класса css между class и className
Наконец, попробуйте установить другие элементы с помощью переменной состояния, это очень возможно по любой причине, которую семантика не допуститпеременные, которые должны быть установлены с определенными элементами
Если все остальное терпит неудачу, измените собственный CSS для семантического интерфейса пользователя
Большой привет комментатору MikeRos дляего вклад.