2017-09-08 12 views
0

私はネイティブの反応で初心者です。私は自分で解決できなかった問題にぶつかっています。どのようにReactNative FlatList ScrolltoIndexに正しく対応していますか?

export default class Form extends React.Component { 
 
    state = {index: 0}; 
 

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

 
    myscrollToIndex =() => { 
 
    this.setState({index: ++this.state.index}); 
 
    this.flatListRef.scrollToIndex({animated: true,index: this.state.index}); 
 
    }; 
 

 
    _renderItem = ({item}) => (
 
    <View> 
 
     <Question {...item} /> 
 
     <Button label='Next' onPress={this.myscrollToIndex} style={styles.buttonNext}/> 
 
    </View> 
 
) 
 

 
    render() { 
 
    return (
 
     <View style={styles.container}> 
 
     <FlatList 
 
     horizontal={false} 
 
     ref={(ref) => { this.flatListRef = ref; }} 
 
     scrollEnabled 
 
     data={this.props.form} 
 
     extraData={this.state} 
 
     keyExtractor={this._keyExtractor} 
 
     renderItem={this._renderItem} /> 
 
     </View> 
 
    ); 
 
    } 
 
}

は私が機能をmyscrolltoindexするインデックスを渡したいが、私はthis.flatListRefが支配しますように管理していない:

は、これまでのところ、これは私がそれを使用しています方法です私がそれをするときに外に出る。

誰かに同様の問題が発生しましたか?

答えて

0

はIDを使用するには、スクロールインデックスを変更し、次

keyExtractor={item => item.id} 

を設定してみてくださいそして、あなたの時間をありがとうございました。 私は何か似たようなことをしました。

0

index paramも使用してください。インデックスを周りに渡す。

たとえば_renderItem = ({item, index}) => (<View> <Question {...item} /> <Button label='Next' onPress={this.myscrollToIndex(index) } style={styles.buttonNext}/> </View>)

+0

こんにちはVivek、入力をお願いします。 undefinedの 'scrollToIndex'プロパティを読み取ることができません。 myscrollToIndex関数のパラメータをどのようにすべきか知っていますか? これは私がこれまで持っているものです: 'scrollToIndex =(index)=> { this.flatListRef.scrollToIndex({animated:true、index:index}); }; ' –

関連する問題