2017-10-17 26 views
0

リスト項目を含むフラットリストを作成しようとしています。私はhttps://facebook.github.io/react-native/docs/flatlist.htmlのサンプルの1つを使用して1つを構築しました。反応したネイティブのカスタムフラットリストアイテム

私はこれをさらに複雑にすることでこれを拡張しようとしていますが、私は立ち往生しています。私は、以下のようなリストアイテムを含むフラットリストを作成しようとしています。もちろん、私はこれらのネイティブライブラリを使用してこの問題を解決することができますが、代わりにライブラリを使用することを避けようとしています。複数のレンダリングでフラットリストコンポーネントを作成したいのです。これに助けていただければ幸いです。

enter image description here

+0

フラットリストに追加する前に日付を分割しようとしましたか?配列をリストに入れる前にビューを作成することもできます。単にそれ自体をrenderItem関数で返すよりも簡単です。 – parohy

+0

['numColumns'](https://facebook.github.io/react-native/docs/flatlist.html#numcolumns) – bennygenel

+0

各行にjsxを作成する必要がありますか? –

答えて

0

それを達成するための最も簡単な方法は、行のコンポーネントや小道具をもとに、あなたがそれをレンダリングする方法を決定することです。例:

class Row extends React.PureComponent { 

    render(){ 
     const { item } = this.props 
     if(item.break){ 
     return <Text>Break</Text> 
     } 
     return (
     <View><Text>Normal item goes here</Text></View> 
    ) 
    } 
} 
+0

ありがとうございます。それは理にかなっている。私は 輸出のデフォルトの関数FlatListのような共有可能flatlistコンポーネントを作成します({ たlistData }:{ たlistData:文字列 }){ リターン( <ビュースタイル= {{フレックス:1}}> ) } でrenderRowはJSXを構築するロジックが含まれていますが、これで私は、「最大コールスタックサイズを言ってエラーが出ます超過した。カスタムコンポーネントにjson文字列をパラメータとして渡すことができないためですか? –

+1

機能コンポーネントFlatListを呼び出すべきではありません。なぜなら、jsxで元のFlatListを使用すると、再帰を引き起こす代わりにカスタム関数が必要になるからです。それをちょうどリストに変更してください –

+0

私は私たちが反応ネイティブのリストを持っているとは思わない。あなたはListViewを意味しましたか? –

関連する問題