2017-07-13 17 views
0

私は反応したネイティブで実験していましたが、私はFlatListを正しくレンダリングできません。ここにコンポーネントがあります。重要な場合は、react-navigationを使用してこのコンポーネントをレンダリングしています。ネイティブフラットリストに反応しません

class FactoryScreen extends React.Component { 
    static navigationOptions = { 
    title: 'test test', 
    }; 

    constructor(props) { 
    super(props); 

    this.state = { 
     datasource: [ 
     { 
      id: 21, machine_key: 'f', clamp_id: 'c0', 
     }, 
     { 
      id: 22, machine_key: 'f', clamp_id: 'c1', 
     }, 
     { 
      id: 23, machine_key: 'f', clamp_id: 'c2', 
     }, 
     ] 
    }; 
    } 

    render() { 
    const { goBack } = this.props.navigation; 
    return (
     <List style={{flex: 1}}> 
     <FlatList 
      data={this.state.datasource} 
      renderItem={({item}) => { 
      console.log(item); 
      return (<ListItem title={`${item.clamp_id} clamp`} />); 
      }} 
     /> 
     </List> 
    ); 
    } 
} 

私は私のitemオブジェクトは、コンソールにログインして見ることができますが、私はそれが何らかの理由でレンダリングすることができません。私が間違ってやっていることに関する考えは?

+0

は親切にあなたのリストアイテムのコンポーネントを確認し、ここだ、私はあなたのデータを表示することができる:リターン( {item.clamp_id}クランプ)。 – KimHau

+1

@KimHau残念ながら、私はあなたのコードに切り替えましたが、私はそれが現れるのを見ることができませんでした。 – phouse512

答えて

0

問題は、ナビゲーション

まず、あなたの<LisItem>コンポーネントがデータを表示できることを確認し反応しないです。このコンポーネントがネイティブベースの場合、Listコンポーネントのマニュアルを確認してください。here

これにはキーエクストラクタが必要です。例えば

... 

    _keyExtractor = (item, index) => item.id; 

    render() { 
    return (
     <List style={{flex: 1}}> 
     <FlatList 
      data={this.state.datasource} 
      keyExtractor = {this._keyExtractor} 
      renderItem={({item}) => { 
      console.log(item); 
      return (<Text>{`${item.clamp_id} clamp`} clamp</Text>); 
      }}   
     /> 
     </List> 

    ); 
    } 

... 
+0

残念ながらキーエクストラクターのエラーが消えてしまったが、私はまだリストの表示が見えない。また、 'ListItem'の使用を中止し、' Text'を使用しましたが、それはそれを解決していないようです。 – phouse512

+0

どのようなエラーメッセージがありますか? –

+0

エラーメッセージは表示されません。ただ静かに失敗します。私はコードが 'StackNavigation'の外にあるときに機能するようにしたので反応ナビゲーションの問題を開きましたが、画面に置くとすぐには反応しませんでした。詳細はこちら:https://github.com/react-community/react-navigation/issues/2135 – phouse512

関連する問題