2017-09-08 4 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

봅니다 다음

keyExtractor={item => item.id} 

을 설정하고 다음 ID를 사용하는 스크롤 인덱스를 변경 시간 내 주셔서 감사합니다. 나는 비슷한 것을했고 그것이 어떻게 작동 하는지를 알아 냈습니다.

0

index param도 사용하십시오. 그리고 색인을 주변에 전달하십시오.

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

+0

안녕하세요. 귀하의 의견을 부탁드립니다. undefined의 'scrollToIndex'속성을 읽을 수 없습니다. myscrollToIndex 함수에서 매개 변수를 어떻게 사용해야합니까? 이것은 내가 가지고있는 것입니다 : 'scrollToIndex = (index) => { this.flatListRef.scrollToIndex ({animated : true, index : index}); }; –