mapDispatchToProps在单击按钮时不起作用-React Native

时间:2019-11-14 09:25:56

标签: reactjs react-native react-redux

我正在尝试使用参数将事件分配给我的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);

请帮助我解决此问题。谢谢。

1 个答案:

答案 0 :(得分:0)

您需要使用ES6箭头函数在这样的in函数中包装回调函数

onPress={()=>yourFunction()}

  

因为如果您在下面这样使用

     

onPress={yourFunction()}

     

它们将在文档加载时运行该功能。   安装。这就是为什么它在媒体上不起作用的原因。

     

因此,如果您使用in函数包装。仅按按钮即可执行