2017-03-07 2 views
0

그래서 응답 원시를 사용하고 있으며 onPress라는 함수를 가져올 수 없습니다. 나는 다음과 같은 errror를 얻을 수있는 아이콘을 클릭하면 정의되지 않은 가 아닌ReactNative 중첩 구성 요소에서 onPress를 수행 할 수 없습니다.

class ShowUsers extends Component{ 
.... 
render(){ 
var user = this.state.details; 
var userList = user.map(function(user,index){ 
     var img={ 
     uri:user.avatar.uri, 
     } 
     return(
     <ListItem icon key={ index }> 
       <Left> 
       <Thumbnail small source={img} /> 
       </Left> 
       <Body> 
       <Text>{"@"+user.uname+" "+user.id}</Text> 
       <Text note>{user.fname+" "+user.lname}</Text> 
       </Body> 
       <Right> 
        <Icon style={{fontSize:30}} name="ios-add-circle" onPress={this.followThem(user.id).bind(this)} /> 
       </Right> 
      </ListItem> 
     ); 
     }); 
     return(
     <View> 
     {userList} 
     </View>); 
    } 

followThem(userId){ 
    Alert.alert("userId "+userId); 
} 

나는 다음과 같이 내가

<ShowUsers allUsers={this.state.details} access_token={this.state.access_token}/> 

지금을 ShowUsers가 호출이있는 내 렌더링 방법이있는 SearchUser 구성 요소가 함수 (this.followThem (user.id) 평가)

내가 아는 한이 값은 정의되어 있지 않지만 아래의 함수를 내 SearchUser 구성 요소에 사용했습니다. 어떤 제대로 기능

<Icon onPress={this.goBack.bind(this)} name="arrow-back" /> 

나는 또한 내가 잘못 뭐하는 거지 this.followThem.bind (이, user.id)하지만 아무 소용을 시도 호출?

답변

0

단순화 답변 -

render() { 
    var user = [11,22,33]; 
    var userList = user.map((u,i) => { 
     return(
     <Text key={i} onPress={this.followThem.bind(this, u)}>{u}</Text> 
    ); 
    }); 
    ..... 
    } 

공지 map에 사용 화살표 기능. this을 자동으로 콜백에 바인딩합니다.

당신도 할 수있는 -이 작품

<Text key={i} onPress={() => this.followThem(u)}>{u}</Text> 
+0

감사합니다! – blaziken105

관련 문제