루프 및 방법을 렌더링합니다 레이스트리아스 요소 없이 객체에는 배열입니다 매핑하려면?

39 m, jQuery 는 구성 요소를 i& 것 중 하나가 변환하십시오 레이스트리아스 셨으며 I& # 39 m, n 은 여러 요소를 기반으로 루프지 대한 어려움을 겪고 있는 렌더링합니다

그럴 수 없는, 또는 권장됨 이해할 수 있는 모델을 사용할 수 있는 it 및 어레이에서는 감지에서 완료하십시오 '지도'. # 39 의 좋아요, 하지만 that& 갖고 있지 않은 경우 어레이에서는 어때? 그 후 여러 요소를 가지고 있는 것과 있는 숫자 값을 특정 렌더링하려는 어떻게 해야 합니까?

39 의 here& 내 acrobatconnectcentral. I want to 접두어입니다 있는 요소를 기반으로 # 39 의 임의의 개수의 주기표시 스팬할 it& 계층적이지 수준. 그래서, 난 로렌아줌마가 3 전 3 레벨에서만 주기표시 스팬할 텍스트 요소.

Javascript:

for (var i = 0; i < level; i++) {
    $el.append('<span class="indent"></span>');
}
$el.append('Some text value');

39, t, 또는 기타 다른 비슷한 것 같아 내가 can& afaq afnor 레이스트리아스 컴포넌트인지 이스스 작업할 수 있습니다. 전 그 다음, 먼저 해야 할 것이 아니라 올바른 길이 그리곤요 루프을 이 건물을 임시 스토리지로는 어레이입니다.

레이스트리아스

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

  return (
    ...
    {indents}
    "Some text value"
    ...
  );
}

실로 이 can& # 39 만 t, 또는 이를 최고의 방법은? 내가 뭘 놓친거야?

질문에 대한 의견 (2)
해결책
  • 업데이트: &Gt 반응할 수 있다. 0.16*

한 요소에 반환되기를 렌더링합니다 방법을 가지고 있는 것은 아닙니다. 어레이에서는 귀의하지않는다고 수도 있습니다.

var indents = [];
for (var i = 0; i < this.props.level; i++) {
  indents.push(<span className='indent' key={i}></span>);
}
return indents;

또는

return this.props.level.map((item, index) => (
    <span className="indent" key={index}>
        {index}
    </span>
));

[ 여기에 대해 설명하는 문서를 이스스 하였더뇨 ] [1]

  • OLD:*

한 루프 대신 사용할 수 있습니다.

var indents = [];
for (var i = 0; i < this.props.level; i++) {
  indents.push(<span className='indent' key={i}></span>);
}
return (
   <div>
    {indents}
    "Some text value"
   </div>
);

2 와 [.map ] 돌림무늬 es6 사용할 수도 있습니다.

return (
   <div>
    {this.props.level.map((item, index) => (
       <span className='indent' key={index} />
    ))}
    "Some text value"
   </div>
);

또한 반환 값 (컨테이너입니다 마무리 합니다. 위의 예에서 div 사용

Here 라고 같은 문서

39 의 &gt 있으며 현재 받을시간은 component& 렌더링합니다 복귀하십시오 한 노드씩 수만 있습니다. 목록이 있다면 말하도다 div, span, div 안에 마무리 합니다 반환되기를 구성 요소가 또는 다른 구성 요소.

[1]: https://reactjs.org/docs/jsx-in-depth.html # 이스스 하였더뇨

해설 (9)

다음은 일부 기능 있는 예 더 ES6 기능:

'use strict';

const React = require('react');

function renderArticles(articles) {
    if (articles.length > 0) {      
        return articles.map((article, index) => (
            <Article key={index} article={article} />
        ));
    }
    else return [];
}

const Article = ({article}) => {
    return ( 
        <article key={article.id}>
            <a href={article.link}>{article.title}</a>
            <p>{article.description}</p>
        </article>
    );
};

const Articles = React.createClass({
    render() {
        const articles = renderArticles(this.props.articles);

        return (
            <section>
                { articles }
            </section>
        );
    }
});

module.exports = Articles;
해설 (5)

39 m (자) 를 사용하여 로비치스키스 i& ',' 을 루프의 렌더링합니다 오마프 (.)

// chars = {a:true, b:false, ..., z:false}

render() {
    return (
       <div>
        {chars && Object.keys(chars).map(function(char, idx) {
            return <span key={idx}>{char}</span>;
        }.bind(this))}
        "Some text value"
       </div>
    );
}
해설 (2)

'아리스프롬 ()' 는 이트레이블 변환할지 객체에는 배열 및 선택적 매핑해야 함수은. '속성' 트렌크스 다음과 같이 있는 객체를 생성할 수 있습니다

return Array.from({length: this.props.level}, (item, index) => 
  <span className="indent" key={index}></span>
);
해설 (3)

내 생각에 이것은 js 반응할 수 있는 가장 쉬운 방법은 반복

<ul>
    {yourarray.map((item)=><li>{item}</li>)}
</ul>
해설 (2)