2017-12-02 5 views
0

FlatListは多くのpostsデータをレンダリングします。 Each itempostsはのデータとのブックマークのデータがあります。があります。 (ユーザーが気に入っているかブックマークしているか)FlastListから複数のアイテムの状態を処理する方法(配列から複数のアイテムを設定する方法)

私の問題は、各アイテムの多くのデータをどのように状態に保存するのでしょうか?

ここはフラットリストです。 (特別なことは何もありません)

<FlatList 
    data={posts} 
    renderItem={this._renderItem} 
    keyExtractor={this._keyExtractor} 
    numColumns={1} 
    /> 

のRenderItemからの各項目、liked状態を変更する_handleLikePressボタンがあります。

_handleLikePress = (itemId) => { 
    let { token } = this.props; 
    this.setState({liked: true}) <<<<<--- HERE! 
    this.props.likeOutfit(token, itemId) 
    } 

!開発ポイント:「Like」機能はサーバ側で100%のように動作すると仮定していますので、私はreduxの代わりにstateを設定しています。

どのように複数の商品の状態を扱うことができますか?この方法で

答えて

1

状態

class ItemList extends React.Component { 
    constructor(){ 
    this.state = { 
     liked:false 
    } 
    } 
    render() { 
    return(

    ) 
    } 
} 

export default ItemList; 
+0

うわーを維持し、ITEMLISTコンポーネント内

<FlatList data={posts} renderItem={this._renderItem} keyExtractor={this._keyExtractor} numColumns={1} /> renderItem(){ return <ItemList {..props} /> } 

を自身の状態を項目ごとに新しいコンポーネントを作成し、各項目を更新this._renderItem!これは機能しますか?これはとてもクールです!あなたはタイプ{..props}を逃しましたか?私たちはそれに3つの点を入れるべきでしょうか? –

+0

@JohnBaekちょうどあなたがどんな小道具を渡すことができる例 – Jigar

+1

それを得ました。私はあなたが意味することを得た。ありがとう! –

関連する問題