2016-09-10 3 views
0

저는 ListView 구성 요소에 주력하고 있습니다.
여기 내 코드React Native : 어떻게 ListView에 집중할 수 있습니까?

class MyListView extends Component { 
    static propTypes = { 
     navigator: PropTypes.object.isRequired, 
    }; 

    componentDidMount() { 
     this.listView.focus() 
    } 

    render() { 
     return (
      <ListView 
       ref={ref => { this.listView = ref }} 
       contentContainerStyle={styles.listView} 
       dataSource={cloneWithRows(listDataSource)} 
       renderRow={(data) => <MyListViewCell 
        ... 
       />} 
      /> 
     ) 
    } 
} 
export default MyListView 

입니다하지만 난 기사를 많이 검색 한 "this.listView.focus는 함수가 아닙니다"그러나 나는 해결책을 찾을 수 없습니다처럼 그냥 오류를 반환합니다.
아이디어가 있으십니까?

+1

'ListView'에'focus()'메소드가 있다고 생각합니까? – gus27

+0

입력 요소에만 포커스가 있습니다. – vijayst

답변

1

componentDidMount는 componentDidMount가 호출되기 전에 ref prop가 호출되도록 보장하지 않습니다. componentDidMount 코드를 다음과 같이 변경해야합니다.

requestAnimationFrame 기능을 사용하기로 결정한 경우. TimerMixin을 사용하면 더 좋을 것입니다 (TimerMixin doc 참조). react-mixin을 사용하여 TimerMixin doc에서 제안 된대로 ES6에서 Mixin을 구현하십시오.

관련 문제