如何获得派遣减少量

Pab*_*blo 6 javascript reactjs redux

我正在学习redux并做出反应.我正在学习一些教程,以便制作应用程序.

我有这个action:

export function getDueDates(){
  return {
    type: 'getDueDate',
    todo
  }
}
Run Code Online (Sandbox Code Playgroud)

这是商店:

import { createStore } from 'redux';
import duedates from './reducers/duedates'

export default createStore(duedates)
Run Code Online (Sandbox Code Playgroud)

这是减速器:

从'immutable'导入不可变

export default (state = Immutable.List(['Code More!']), action) => {
  switch(action.type) {
    case 'getDueDate':
      return state.unshift(action.todo)
    default:
      return state
  }
}
Run Code Online (Sandbox Code Playgroud)

entry point js我有这个:

import React from 'react';
import ReactDOM from 'react-dom';

import store from './app/store'
import { Provider } from 'react-redux'

import App from './app/Components/AppComponent';


ReactDOM.render(
    <Provider store={store}>
        <App />
    </Provider>,
    document.getElementById('app')
);
Run Code Online (Sandbox Code Playgroud)

现在,(根据一些例子),我应该getDueDate从中调用,dispatch但我不知道如何获取dispatch组件,触发动作

geo*_*.cz 5

connectreact-redux包中使用.它有两个功能参数,可以mapStateToPropsmapDispatchToProps,你有兴趣了.根据Nick Ball的回答,这部分是正确的,你会像这样出口:

export default connect(mapStateToProps, mapDispatchToProps)(App)

你的mapDispatchToProps意志看起来像这样:

function mapDispatchToProps (dispatch, ownProps) {
  return {
    getDueDate: dispatch(getDueDate(ownProps.id))
  }
}
Run Code Online (Sandbox Code Playgroud)

只要连接到商店的组件具有从上面传递的属性ID,您就可以this.props.getDueDate()从内部调用.

编辑:id在这种情况下可能没有必要使用,但我的观点是指出道具作为第二个参数:)