Есть два терзающий вопроса:
Есть кусок кода рендера
var data = this.props.data;
var hidden = this.state.hidden;
var template = data.map(function(item,index) {
return(
<div className="mainDiv" key="{index}">
<p className="feedText">{item.author}</p>
<p className={'feedText ' + 'smallmargin'}>{item.text}</p>
<p className={'feedText ' + 'smallmargin ' + (hidden ? '' : 'hidden')}>{item.bigtext}</p>
</div>
)
});
Реакт отказывается рендерить по причине {index} используется дважды,должен быть уникален,но значение индекса ведь разные - 0 и 1. Как быть в такой ситуации?
Как привязать событие? Есть событие
divClick : function(e) {
e.preventDefault();
this.setState({hidden : true});
}
Банальный онклик говорит,что divClick undefined
<div className="mainDiv" onClick={this.divClick}>
В чем тут проблемы?
По вопросу 1, это ваша опечатка:
Вы написали:
key="{index}"
Соответственно ключом становится строка. Фигурные скобки внутри строки в jsx-это просто фигурные скобки, то что внутри них не является js-выражением.
Надо:
key={index}
Ну или
key = {index.toString()}
если вам прямо так уж строка нужна(нет не нужна)
По вопросу 2, при правильном использовании должно работать.
Приведите весь код компонента. То есть весь кусок в котором не работает, целиком.
Мой хрустальный шар предполагает, что Вы теряете контекст (this) в методе .map
Попробуйте так:
var template = data.map(function(item,index) {/** где-то здесь мы вызываем this.divClick **/}.bind(this))
Подробнее про контекст почитать можно например в ответах к этому вопросу.
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть вот такой скрипт, по нажатию кнопки, создает строку таблицы, возможно ли сделать чтобы генерируемый имел ввид к примеруСуть в том чтоя...
При выполнении лабораторной работы возникла вот такая проблемаПервое поле задаёт нижнюю границу диапазона чисел, а второе - верхнюю
У меня есть страница с кучей JS скроптов(загрузка изображения, динамическая таблица, блоки которые перемещаются мышкой)Суть такая пользователь...
Мне бы хотелось бы узнать, а возможно ли создавать файлы с помощью JavaScript? Если да, пожалуйста, приведите примерыБуду очень рад вашему ответу