React Modal - 使用params onClick调用函数,而不是渲染

时间:2017-09-29 21:59:05

标签: javascript reactjs react-modal

我坚持的问题与用户点击按钮时调用函数有关,这将打开一个模态。该函数的目的是对用户信息进行GET请求以填充模态。我正在使用react-modal包,它接受onAfterOpen道具。我知道我可以使用这个prop来调用我的函数,但是为了发出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次。

1 个答案:

答案 0 :(得分:1)

您可以像这样使用.bind

onAfterOpen={this.props.getInfo.bind(this, id)}