in der Regel Komponenten für eine bessere Wartbarkeit unterteilt: HOC(container) and presentatianal components..
, wenn Ihr Behälter Präsentations-Komponenten:
Sie brauchen nicht Ihre Aktionen Schöpfer durch Präsentationen Komponenten passieren, weil sie keins haben, sollten Kenntnis von Reduxteilen. Wenn die Präsentationskomponente eine Aktion auslöst, sollten Sie Callbacks verwenden, um den Versand im Container aufzurufen.
für die Verwendung von verschiedenen Instanzen der Aktion Schöpfer Klasse
ersten Weg
import ActionsClass from './Actions/ActionsClass';
const actions = ActionsClass('endpoint');
class Container extends Component {...}
export default connect(state=>({foo:state.foo}),actions)(Container);
zweite dynamische Art und Weise, vorbei Endpunkt durch Requisiten
import ActionsClass from './Actions/ActionsClass';
import { bindActionCreators } from 'redux'
class Container extends Component {...}
const mapDispatchToProps = (dispatch,ownProps)=>({
actions: bindActionCreators(ActionsClass(ownProps.endpoint) , dispatch)
});
export default connect(state=>({foo:state.foo}),mapDispatchToProps)(Container);
ich denke, können Sie reselect verwenden für ActionsClass(ownProps.endpoint)
dritte dynamische Art und Weise ohne Klasse Aktion Endpunkt
import actions from './actions';
class Container extends Component {
onChange(arg1,arg2){
this.props.someAction(arg1,arg2,this.props.endpoint)
}
render(){
return(<SomeComp onChange={this.onChange.bind(this)}/>
}
}
export default connect(state=>({foo:state.foo}),actions)(Container);
btw Endpunkt vorbei passieren, können Sie auch in den Filialen state=>({endpoint:state.endpoint})
vierten ... erhalten Endpunkt von Aktion Schöpfer, durch redux-thunk
const actionFetch = (notes) => (dispatch,getState)=>{
let endpoint = getState()[notes].endpoint;
fetch(endpoint).then(...
//or let endpoint = endpointsFromModule[notes].fetchAll;
}
es als "Requisiten" übergeben? –
Ich hätte klarstellen sollen, dass ja ich die Instanz als Requisiten übergebe, aber ich denke, dass redux connect nur oberflächlich prüft, so dass das Überschreiten der Klasseninstanz das wahrscheinlich brechen wird. – Nicholas