タグをレンダリングするコンポーネントがあります。マップをループしてデータを表示します。私はforEachを使って試しましたが、うまくいきません。しかし、マップを配列に変換すると(foreachは配列でも動作しません)、それが動作します。私はここで何が欠けていますか?jsコンポーネントが反応し、マップが動作し、foreachが反応しない
この作品:
render(){
return(
<div class="container">
{Array.from(this.props.tags.values()).map((tag,i) => (
<Tag
handleKeyDown={this.handleKeyDown.bind(this)}
handleBlur={this.handleBlur.bind(this)}
handleTouchTap={this.handleTouchTap.bind(this)}
handleRequestDelete={this.handleRequestDelete.bind(this)}
tag={tag}
key={i}
/>
))}
</div>
)
}
これはしません:
render(){
return(
<div class="container">
{this.props.tags.forEach((tag,i) => (
<Tag
handleKeyDown={this.handleKeyDown.bind(this)}
handleBlur={this.handleBlur.bind(this)}
handleTouchTap={this.handleTouchTap.bind(this)}
handleRequestDelete={this.handleRequestDelete.bind(this)}
tag={tag}
key={i}
/>
))}
</div>
)
}
ありがとうございます!マップを配列に変換し、そのマップを使用する以外の方法がありますか? – Gopid
確かに@Gopid、私はジェネレータを使った例で答えを更新しました。これは、一度配列に変換する必要がなくなり、エントリを新しいフォーマットに直接反復してマップすることができます。 –