2016-09-30 60 views
0

我的模态正常工作,即打开和关闭第一次完美,但是,它不会再打开。我看到下面的错误控制台 -Foundation Reveal Modal未使用React进行关闭15.3.2

  1. Uncaught NotFoundError: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.

  2. Uncaught (in promise) Error: Attempted to update component 'ErrorModal' that has already been unmounted (or failed to mount).

我需要我的模式我关闭每次毁灭?

ErrorModal.jsx

var React = require('react'); 

var ErrorModal = React.createClass({ 
    componentDidMount: function() { 
    var modal = new Foundation.Reveal($('#error-modal')); 
    modal.open(); 
    }, 
    render: function() { 

    return (
     <div className='reveal tiny text-center' id='error-modal' data-reveal=""> 
     <h4>Some title</h4> 
     <p>Our Error msg</p> 
     <p> 
      <button className ='button hollow' data-close=""> 
      Okay 
      </button> 
     </p> 
     </div> 
    ); 

    } 
}); 

module.exports = ErrorModal; 

回答

0

可以使用反应-DOM让反应采取更新DOM,而不是基础的护理尝试此解决方案

/* global $, Foundation */ 
import React from 'react' 
import ReactDOM from 'react-dom' 
import ReactDOMServer from 'react-dom/server' 

class ErrorModal extends React.Component { 
    componentDidMount() { 
    const modalContent = (
     <div id='error-modal' 
     className='reveal tiny text-center' 
     data-reveal=''> 
     <h4>Some title</h4> 
     <p>our error message</p> 
     <p> 
      <button className='button hollow' data-close=''> 
      Okay 
      </button> 
     </p> 
     </div> 
    ) 
    const modalElement = $(ReactDOMServer.renderToString(modalContent)) 
    $(ReactDOM.findDOMNode(this)).html(modalElement) 

    const modal = new Foundation.Reveal($('#error-modal')) 
    modal.open() 
    } 
    render() { 
    return (
     <div /> 
    ) 
    } 
} 

export default ErrorModal 
0

我有类似的情况现在ZF ==与揭示6.2.1

基金会显示莫代尔后运行modal.open();基础变化DOM和移动模式结束的身体的 - 追加新的覆盖。 组件离开反应安装节点 - 这是问题