Как зацикливать и отображать элементы в React.js без массива объектов для сопоставления?Jquery

Программирование на jquery
Ответить
Anonymous
 Как зацикливать и отображать элементы в React.js без массива объектов для сопоставления?

Сообщение Anonymous »

Я пытаюсь преобразовать компонент jQuery в React.js, и одна из вещей, с которой у меня возникают трудности, — это рендеринг n элементов на основе цикла for.

Я понимаю, что это невозможно или рекомендуется, и что там, где в модели существует массив, имеет смысл использовать карту. Это нормально, но что делать, если у вас нет массива? Вместо этого у вас есть числовое значение, которое соответствует заданному количеству элементов для визуализации, что вам делать?

Вот мой пример: я хочу добавить к элементу префикс произвольного количества тегов диапазона в зависимости от его иерархического уровня. Итак, на уровне 3 мне нужно 3 тега диапазона перед текстовым элементом.

В JavaScript:

Код: Выделить всё

for (var i = 0; i < level; i++) {
$el.append('');
}
$el.append('Some text value');
Кажется, я не могу заставить это или что-то подобное работать в компоненте JSX React.js. Вместо этого мне пришлось сделать следующее: сначала построить временный массив нужной длины, а затем зациклить его.

React.js

Код: Выделить всё

render: function() {
var tmp = [];
for (var i = 0; i < this.props.level; i++) {
tmp.push(i);
}
var indents = tmp.map(function (i) {
return (

);
});

return (
...
{indents}
"Some text value"
...
);
}
Разве это не лучший или единственный способ добиться этого? Что мне не хватает?

Подробнее здесь: https://stackoverflow.com/questions/291 ... cts-to-map
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»