2016-12-05 22 views
0

以下のコードで何が問題になっていますか?常に1を記録します。小道具で数字を受け取り、何度もループしてリンクのリストを返すだけです。React Component期待どおりに機能していません

import React from 'react'; 

const itemWidget = (props) => { 

    let numItems = props.numItems; 
    let itemList = itemMarkup(numItems); 

    return (
    <div> 

    { itemList } 

    </div>); 
}; 

export default itemWidget; 

const itemMarkup = (n) => { 

    for (let i=1; i <= n ; i++) { 
    console.log(i); 
    return (
     <a href="#">{i}</a> 
    ); 
    } 
} 

以下は、番号を渡す親コンポーネントのコードです。

import React from 'react'; 
import itemWidget from '~/Components/itemWidget'; 

export default class Merchandise extends React.Component { 
    constructor() { 
    super(); 
    } 

    render() { 
    return (
    <div> 
     <div className="merch-items"> 
     <ItemsWidget numItems={10}/> 
     </div> 
    </div> 
    ); 
    } 
} 
+1

は何であるリンクの配列次利用 'それが渡されていますN '?それは1回または複数回ログに記録されますか? –

+0

このコンポーネントをどのように呼び出していますか?あなたはそれにnumItemsの小道具値を割り当てるコードを提供できますか? – Pineda

+0

親コンポーネントに上記のコードを追加しました。 – sayayin

答えて

0

リターンループが破損する原因となっ forループ声明。

import React from 'react'; 
const itemWidget = (props) => { 

    let numItems = props.numItems; 
    let itemList = itemMarkup(numItems); 

    return (
    <div> 

    { itemList } 

    </div>); 
}; 
const itemMarkup = (n) => { 
    let itemList = []; 
    for (let i=1; i <= n ; i++) { 
    itemList.push (
     <a href="#">{i}</a> 
    ); 
    } 

    return itemList 
} 
+0

答えを教えてください。 –

+0

@SterlingArcher forループで文を返すと、ループが壊れます。 –

+0

それに答えを追加してください:)良い答えはなぜそれが問題を解決するかについての良い説明を、そうでなければコードダンプです。 –

0
const itemMarkup = (n) => { 
    let rows = [] 
    for (let i=1; i <= n ; i++) { 
     console.log(i); 
     rows.push(<a href="#">{i}</a>); 
    // return (
    // <a href="#">{i}</a> 
    //); 
    } 

    return rows; 
}; 

リターン

+0

はい、しかし、私は配列が欲しくない、私はちょうどいくつかのリンクを生成するために多くの時間をループしたい。 – sayayin

+0

と私はおそらくこれを使用して、配列を作成し、htmlを生成するためにマップを使用することができますが、私はなぜそれが私の仕事が動作していない知っている。 – sayayin

+0

itemMarkup矢印関数がちょうど返されたため、forループが壊れます。だから最初の要素だけを得ることができます。 – Jacob

関連する問題