我正在学习redux并做出反应。我正在遵循一些教程,以制作一个应用程序。
我有这个action
:
export function getDueDates(){
return {
type: 'getDueDate',
todo
}
}
这是商店:
import { createStore } from 'redux';
import duedates from './reducers/duedates'
export default createStore(duedates)
这是减速器:
从'immutable'导入不可变
export default (state = Immutable.List(['Code More!']), action) => {
switch(action.type) {
case 'getDueDate':
return state.unshift(action.todo)
default:
return state
}
}
而在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')
);
现在,(根据一些示例),我应该getDueDate
从调用,dispatch
但是我不知道如何获取dispatch
组件上的内容,以触发操作
connect
从react-redux
包装中使用。它有两个函数,分别是paramsmapStateToProps
和和mapDispatchToProps
,您现在对它们很感兴趣。根据部分正确的Nick Ball的回答,您将像这样导出:
export default connect(mapStateToProps, mapDispatchToProps)(App)
您的mapDispatchToProps
外观将如下所示:
function mapDispatchToProps (dispatch, ownProps) {
return {
getDueDate: dispatch(getDueDate(ownProps.id))
}
}
只要连接到商店的组件具有从上方传递的属性ID,您就可以this.props.getDueDate()
从内部调用它。
编辑:id
在这种情况下可能不需要使用,但是我的观点是指出道具作为第二个参数:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句