2017-10-14 10 views
0

私はWeb上でReactJSのために使ったコンポーネントのうち、Modalをビルドしています。私はModalを子としてdocument.bodyに添付し、必要に応じてマウント/アンマウントします。ここでReactDOMとdocument.bodyの同等の変数は何ですか?React Native? (Expo)

は私の問題は、ネイティブに反応にはReactDOMまたはdocument.bodyがないです(オンラインコーススティーブン・グライダーのUdemy)図 enter image description here

です。は、ここに私のmodal.py

import React, { Component } from 'react'; 
import ReactDOM from 'react-dom'; 
import { store } from '../store'; 
import { Provider } from 'react-redux'; 
class Modal extends Component { 
    comoponentDidMount() { 
    this.modalTarget = document.createElement('div'); 
    this.modalTarget.className = 'modal'; 
    document.body.appendChild(this.modalTarget); 
    this._render(); 
    } 

    _render() { 
    ReactDOM.render(
     <Provider store={store}> 
     <div>{this.props.children}</div> 
     </Provider>, 
     this.modalTarget 
    ); 
    } 

    componentWillUpdate() { 
    this._render(); 
    } 

    componentWillUnmount() { 
    ReactDOM.unmountComponentAtNode(this.modalTarget); 
    document.body.removeChild(this.modalTarget); 
    } 

    render() { 
    return <noscript />; 
    } 
} 

私は万博を使用していますし、それがデフォルトでApp.jsをロードしていますです!そして、document.bodyとReactDOMはありません。どうすればこの問題を解決できますか?

答えて

1

反応ネイティブのDOMはありません。モーダルコンポーネントを作成し、それを使用する他のコンポーネントにインポートする必要があります。あなたのモーダルの位置は絶対的でなければならず、モーダルを示すためにあなたはそれに小道具を渡すことができます。このような人々によって作成された https://facebook.github.io/react-native/docs/modal.html またはその他のモーダル::私はモーダルが画面からCSSによって位置決め取得する必要はありませんでした https://github.com/maxs15/react-native-modalbox

+0

あなたが使用することができます

は、ネイティブのモーダルを反応させます。私はモーダルをポップアップさせるためにz-indexに対処しなければならない。私のアプローチは、身体の子供を作り、CSSの問題を解決することです。また、コンポーネントの偽のモーダルは、ボディに付けられたモーダルを呼び出します。 –

+0

回答ありがとうございます。私の問題に時間をかけてくれてありがとう –

関連する問題