Как использовать операторы jsx-control в responsejs?
Я использую jsx-control-инструкции в приложении реакции, чтобы добавить базовые операторы управления. Я установил то же самое с помощью npm и обновил файл.babelrc, как показано ниже
{
"presets": ["react"],
"plugins": ["jsx-control-statements"]
}
и я ниже JSX-код
<IF condition={ selectedID !== null }>
{this.renderData()}
</IF>
ниже находится функция для инициирования selectID, я хочу выполнить renderData(), только если значение не равно нулю
getInitialState() {
return {
selectedID: null
}
},
На данный момент я получаю консольную ошибку, говорящую "Uncaught ReferenceError: IF не определен", и приложение не загружается. Может кто-нибудь сказать мне что-нибудь не так здесь. Нужна помощь.
2 ответа
Лучший способ использовать операторы jsx-control в actjs - НЕ использовать его вообще. Зачем? потому что в моей компании он был в нашем проекте, и он принес нам только нечитаемый, ошибочный и загроможденный код.
Подумайте на секунду, что вы поощряете перенос бизнес-логики в часть jsx компонента представления, которая должна использоваться только для вывода уже обработанных данных. Сначала это может выглядеть хорошо, но через некоторое время все больше и больше логики будет идти туда, и это станет проблемой.
Так что в вашем случае вы можете сделать что-то вроде этого:
{selectedID !== null && this.renderData()}
Немного поздно, но я только что натолкнулся на это во время поиска в Google - вы хотите использовать If
вместо IF
,
Я полагаю, не использовать его вообще работает:|.