Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs Can';t无错误的外部打开模式ECSS_Reactjs_Typescript_Tsx - Fatal编程技术网

Reactjs Can';t无错误的外部打开模式ECSS

Reactjs Can';t无错误的外部打开模式ECSS,reactjs,typescript,tsx,Reactjs,Typescript,Tsx,我有一个在页面底部弹出的标准模式,我还有一个在整个页面中创建许多不同组件的函数,所有这些组件都有一个“播放”按钮,当点击时调用道具中传递的函数,该函数会更改模式的打开属性 供参考: return ( <div> <Period openModal={this.openModal} /> <Modal open={this.state.isOpen} options={{ ..

我有一个在页面底部弹出的标准模式,我还有一个在整个页面中创建许多不同组件的函数,所有这些组件都有一个“播放”按钮,当点击时调用道具中传递的函数,该函数会更改模式的打开属性

供参考:

  return (
    <div>
        <Period openModal={this.openModal} />
      <Modal
        open={this.state.isOpen}
        options={{
          ...
        }}
        trigger={document.getElementsByClassName('modal-trigger')}
      >
        Song Descp and misc
      </Modal>

    </div>
  );


我推断这是因为我没有打开模态的模态触发器。

仔细考虑后,我转到调用触发模态的方法的按钮,删除了我添加到其中的“模态触发器”类名,现在它工作正常。我仍然不确定这是否是从外部触发模态的最佳方法。

您使用的是哪种react版本?@knada 16.14.0,我目前的解决方案足够好,但是,如果您有另一种更具体的方法,我很想知道。
TypeError: document.getElementById(...) is null
_handleTriggerClick
node_modules/materialize-css/dist/js/materialize.js:2990

  2987 | var $trigger = $(e.target).closest('.modal-trigger');
  2988 | if ($trigger.length) {
  2989 |   var modalId = M.getIdFromTrigger($trigger[0]);
> 2990 |   var modalInstance = document.getElementById(modalId).M_Modal;
       | ^  2991 |   if (modalInstance) {
  2992 |     modalInstance.open($trigger);
  2993 |   }