Ich versuche, eine Aktion aus meiner Smart-Komponente zu versenden. Ich habe versucht, die mapDispatchToProps
und this.props.dispatch(actions.getApplications(1))
zu verwenden, aber keiner bindet die Aktionen an props
.This.props.dispatch keine Funktion - React-Redux
Ich bin nicht sicher, ob es ist, weil meine mapStateToProps
nicht enthalten ist? Ich habe versucht, es aufzunehmen, aber es hat auch nicht funktioniert.
Jede Hilfe ist willkommen, ich entschuldige mich für die Länge des Codeblocks unten.
import classNames from 'classnames';
import SidebarMixin from 'global/jsx/sidebar_component';
import Header from 'common/header';
import Sidebar from 'common/sidebar';
import Footer from 'common/footer';
import AppCard from 'routes/components/appCard';
import { getApplications } from 'redux/actions/appActions';
import { connect } from 'react-redux'
import { bindActionCreators } from 'redux'
import actions from 'redux/actions';
import { VisibilityFilters } from 'redux/actions/actionTypes';
class ApplicationContainer extends React.Component {
constructor(props){
super(props)
this.state = {
applicants: []
}
this.onDbLoad = this.onDbLoad.bind(this)
}
onDbLoad(){
console.log(this.props.dispatch)
// this.props.getApplications(1)
}
render() {
return (
<Col sm={12} md={4} lg={4}>
<PanelContainer style={panelStyle}>
<Panel>
<PanelBody >
<Grid>
<Row>
{ this.onDbLoad() }
</Row>
</Grid>
</PanelBody>
</Panel>
</PanelContainer>
</Col>
)}
}
function mapDispatchToProps(dispatch){
return bindActionCreators({ getApplications: getApplications },dispatch)
}
export default connect(null, mapDispatchToProps)(ApplicationContainer);
@SidebarMixin
export default class extends React.Component {
render() {
const app = ['Some text', 'More Text', 'Even More Text'];
var classes = classNames({
'container-open': this.props.open
})
return (
<Container id='container' className={classes}>
<Sidebar />
<Header />
<Container id='body'>
<Grid>
<Row>
<ApplicationContainer />
</Row>
</Grid>
</Container>
<Footer />
</Container>
)}
}
Danke für die schnelle Antwort, ich habe Ihre Lösung auch versucht, aber der Versand erscheint immer noch nicht als "Stütze". – richTheCreator
Möchten Sie speziell "Versand" generisch verwenden? Oder möchtest du, dass deine andere Aktion gebunden ist? Wenn der ehemalige, kann ich die Antwort aktualisieren. – Interrobang
Ich möchte eine Aktion versenden, so dass sie durch die Reduzierungen läuft. – richTheCreator