我在下面附加了我所有需要的文件以供参考 当我尝试调用反应时,不会触发redux调度功能。是应对redux的新手
action.js文件
import { ITS_USER } from './types';
import {store} from './index'
export function addPerson(person) {
console.log("chek",person);
console.log("state",store.getState());
return dispatch => {
dispatch(adduser(person));
}
}
export function adduser(person){
return {
type: ITS_USER,
payload: person
};
}
Reducer.js
import { ITS_USER } from './types';
export default function(state=[], action) {
console.log("dxasdads",action.type)
switch (action.type) {
case ITS_USER:
return action.payload;
default:
return state;
}
}
触发函数调用
**var person="praveen"
addPerson(person)**
答案 0 :(得分:0)
您必须将组件与connect
库提供的react-redux
HOC连接,然后可以通过从作为连接函数的第一个参数传递的mapStateToProps
调度它来触发调度函数。像这样:
import YOUR_COMPONENT from './PATH_TO_YOUR_COMPONENT'
const mapDispatchToProps = dispatch => ({
addPerson: (person) => dispatch(addPerson(person)),
});
export default connect(null, mapDispatchToProps)(YOUR_COMPONENT);
然后在组件内部,您将获得addPerson
作为组件props
的功能。您可以直接通过this.props.addPerson(person)
进行调用。