У меня есть поле ввода, которое должно быть доступно только для чтения в зависимости от изменения состояния. Итак, я написал JSX, как показано ниже:
render: function() {
var reo = 'readonly';
return (<input id = "output" type = "Text" value = "0" {reo}/>);
}
В приведенном выше коде переменная reo жестко запрограммирована, но в реальном сценарии она будет оцениваться на основе некоторого условия, например:
var reo = (isDisabled ? 'readonly' : '');
Когда я запускаю это, он дает ошибку неожиданный маркер. А когда я пишу JSX вот так:
<input id = "output" type = "Text" value = "0" readonly/>
он работает нормально. Объясните, пожалуйста, почему возникает эта ошибка и как ее исправить.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Проблема в этом примере заключается в том, что вы передаете строку, в то время как response ожидает опору с именем readonly.
Следующее должно работать:
render: function() {
var reo = true;
return (
<input id = "output" type = "Text" value = "0" readonly = {reo} />
);
}
Или используя isDisabled:
render: function() {
return (
<input id = "output" type = "Text" value = "0" readonly = {isDisabled} />
);
}
Не уверен, что должно означать ... :) Я здесь добровольцем :) Проблема в этом примере заключается в том, что вы передаете строку, в то время как response ожидает опору с именем только для чтения ...
Ага, я знаю, это то, что я говорю. Просто опубликуйте некоторые подробности об этом в ответе. :)
Вы должны указать, почему код OP не работает и почему ваш код будет работать.