1

我遇到的问题与用户单击按钮时调用函数有关,该按钮将打开一个模式。该函数的目的是对用户信息发出 GET 请求以填充模式。我正在使用 react-modal 包,它接受 onAfterOpen 道具。我知道我可以使用这个道具来调用我的函数,但是要发出 GET 请求,我还需要将 id 传递给请求。

我的模态设置如下:

  <Modal
     isOpen={this.props.isSelected}
     onRequestClose={this.props.closeModal}
     onAfterOpen={this.props.getInfo(id)}
     // Also tried declaring function like below, but then I have no reference to user id.
     onAfterOpen={this.props.getInfo}
     contentLabel="Hello"
  >
  </Modal>

像这样声明我的函数的问题是我的页面呈现了一个按钮列表,该列表与模式相关联。所以在渲染时, this.props.getInfo(id) 将被调用。

例如,我的容器组件将呈现一个 Button 组件列表(比如 9 个),如果每个 Button 组件都包含一个 Modal 组件,那么该函数将被调用 9 次。

4

1 回答 1

2

你可以.bind这样使用:

onAfterOpen={this.props.getInfo.bind(this, id)}
于 2017-09-29T22:05:14.353 回答