我正在尝试使用参数将事件分配给我的reducer,如下所示,但是即使单击按钮分配后也不会触发:
导入动作声明:
import { saveDetails } from "../actions";
调度动作的按钮
<Button title="Save Information" onPress={props.callPostApi({
name: "Chetan S",
age: "26",
salary: "30000"
})}
/>
//here { name: "Chetan S", age: "26", salary: "30000" } is an object to be passed as parameter
将调度映射到道具的功能:
const mapDispatchToProps = dispatch => {
return {
callPostApi: dataToSave => {
dispatch(saveDetails(dataToSave));
}
};
};
将组件导出为:
export default connect(mapStateToProps, mapDispatchToProps)(PostComponent);
请帮助我解决此问题。谢谢。
答案 0 :(得分:0)
您需要使用ES6箭头函数在这样的in函数中包装回调函数
onPress={()=>yourFunction()}
因为如果您在下面这样使用
onPress={yourFunction()}
它们将在文档加载时运行该功能。 安装。这就是为什么它在媒体上不起作用的原因。
因此,如果您使用in函数包装。仅按按钮即可执行