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
组件,触发动作
connect
从react-redux
包中使用.它有两个功能参数,可以mapStateToProps
和mapDispatchToProps
,你有兴趣了.根据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
在这种情况下可能没有必要使用,但我的观点是指出道具作为第二个参数:)