我遇到的问题与用户单击按钮时调用函数有关,该按钮将打开一个模式。该函数的目的是对用户信息发出 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 次。