2017-05-28 25 views
0
親Browse.jsで

React NativeとReduxの小道具としてアクションを伝えるには?アクションクリエータファイル内

import { usersFetch, onToggleFollow } from '../actions'; 

class Browse extends Component { 
    render() { 
    return (
     <ListView 
     .... 
     renderRow={(user) => 
      <UserItem user={user} 
      onPress={() => this.props.onToggleFollow()} 
      />} 
     /> 
    ); 
    } 
} 

export default connect(mapStateToProps, { usersFetch, onToggleFollow })(Browse); 
子UserItem.jsで

class UserItem extends Component { 

    render() { 
    followButton = <Button title='Follow' onPress={() => { 
     this.props.onToggleFollow(); 
    }}/>; 

    return (
     <View style={styles.cardContainerStyle}> 
     <View> 
      { followButton } 
     </View> 
     </View> 
    ); 
    } 
} 

:「this.propsを:

export const onToggleFollow =() => { 
    console.log('onToggleFollow method!'); 

    return (dispatch) => { 
    dispatch({ type: ON_TOGGLE_SUCCESS }); 
    }; 
}; 

私はエラーが語る取得.onToggleFollowは関数ではなく、this.props.onToggleFollowは未定義です。 " UserItem

onPress={() => { this.props.onToggleFollow(); }} 

答えて

1

あなたの問題は、このライン上にあります。関数onPressを渡したので、代わりにthis.props.onPressを呼び出す必要があります。

関連する問題