openByClickOn 按钮未出现在 react-portal v4 中

openByClickOn Button Not Appearing In react-portal v4

由于最近 React 升级到 16.8.6,一直在尝试从 react-portal 从 v2 迁移到 v4。

Portal 有问题,应该在 openByClickOn 上加载一个按钮(如下所示),但什么也没有出现。 openByClickOn 的使用是否有任何重大变化?

      <Portal ref={c => this.findDialog = c} closeOnEsc openByClickOn={<div className="header-button" style={{background: `#78808B no-repeat center right`}}>FIND TICKET</div>} style={{width: '480px'}}>
        <DialogTitle style={{fontSize: '25px', color: 'black'}}>Find Ticket</DialogTitle>
        <DialogContent>
          <Field name="ticketNo" component={renderField} type="text" label="Ticket No." onKeyUp={() => this.setState({error: ''})}
                 style={{width: '100%'}}/>
          {this.state.error && <p style={{color: '#d50000'}}>{this.state.error}</p>}
        </DialogContent>
        <DialogActions>
          <Button type='button' onClick={handleSubmit(this.find.bind(this))} disabled={pristine || submitting}>Find</Button>
          <Button type='button' onClick={() => this.close()}>Close</Button>
        </DialogActions>
      </Portal>

预期结果:显示一个 div 按钮,单击该按钮可启动对话框。

已确认 openByClickOnreact-portal v4.

中不再受支持

好用就应该支持。尤其是当想要一起包含一个按钮并处理单击时对话框的打开时。

为了克服这个问题,我花了很大的力气修改代码。 HTML 按钮需要先在父组件中添加,然后处理事件。