2017-06-14 7 views
0

Ich möchte meine zugeordnete listId in meiner Funktion deleteListSettingsCustomSubjectLine verwenden. Ich dachte, ich kann OwnProps dafür verwenden, aber es gibt undefined zurück. Kann jemand erklären, wie es gemacht werden sollte?Wie verwendet man Map-Requisiten in der Connect-Funktion - Redux?

@connect(state => { 
    return { 
     listId: state.views.ListSettings.listSettings.listId, 
    } 
}, (dispatch, ownProps) { 
    return { 
     onCustomSubjectLineDelete:() => { 
     const {listId} = ownProps; //undefined 
     dispatch(actions 
        .deleteListSettingsCustomSubjectLine(listId)); 
     } 
    } 
}) 

Antwort

0

NEU:

Ich würde empfehlen, das Bestehen der listId Eigenschaft als Argument an die onCustomSubjectLineDelete und nannte es als onCustomSubjectLineDelete(listId);

Dann würde die Definition sein:

onCustomSubjectLineDelete(listId) { 
    dispatch(actions.deleteListSettingsCustomSubjectLine(listId); 
} 

ALT, schlechte Antwort:

Hier ist ein vereinfachtes Beispiel (mit nur dem ersten Argument für mapStateToProps). Das Zuordnen zu Requisiten ist genau das. Sie können über die Eigenschaft this.props auf die zugeordneten Eigenschaften zugreifen.

@connect(state => { 
    return { 
     listId: state.views.ListSettings.listSettings.listId, 
    } 
}) 
class Example extends React.Component { 
    render() { 
     const { listId } = this.props; 
     return (
      <div>{listId}</div> 
     ); 
    } 
} 

Ich würde empfehlen, einen Blick at the Redux usage with React documentation sowie.

Verwandte Themen