2017-02-24 64 views
0

我正在開發一個簡單的模態和一些工具提示。我想了解一些門戶網站,因此決定着手製作一個門戶網站。我有以下代碼:創建一個ReactJS門戶

  const Portal = React.createClass({ 
       render() { return null }, 
       portalElement: null, 
       componentDidMount() { 
        let p = this.props.portalId && document.getElementById(this.props.portalId); 
        if(!p) { 
         let p = document.createElement('div'); 
         p.id = this.props.portalId; 
         document.body.appendChild(p); 
        } 
        this.portalElement = p; 
        this.componentDidUpdate(); 
       }, 
       componentWillUnmount() { 
        document.body.removeChild(this.portalElement); 
       }, 
       componentDidUpdate() { 
        render(<div {...this.props}>{this.props.children}</div>, this.portalElement); 
       } 
      }); 

當我運行這段代碼,我得到以下錯誤控制檯:

Uncaught Error: _registerComponent(...): Target container is not a DOM element. 

我的理解是,它無法找到的元素,其中在體內安裝這種。我曾嘗試添加到index.html,但這仍然沒有解決它。

感謝您的幫助。

+0

選中此http://stackoverflow.com/questions/28802179/how-to-create-a-react-modalwhich-is - 帶轉換的身體碰撞 –

+0

@GinoLlerena感謝您的快速響應。我遵循那個教程 - 多數民衆贊成在上面的代碼。 –

回答

0

應該是變種P = ...而不是讓P = ...