2017-03-22 13 views
-2

新しいweb dev純粋なHTML/JQueryテンプレートが見つかりました。ReactJS - fClickInのコンポーネントを呼び出すためにクリックしてください

https://www.creative-tim.com/

私が反応し、私はこのウェブサイト上のモーダルテンプレートをログインするために実装したいとアプリをしなければなりません。

https://www.creative-tim.com/product/login-and-register-modal

私は、これが反応するように変換することができるように確認する必要がありapprochについてはよく分かりません。

ボタン上でonClickを処理して、モーダルを表示させる必要があります。 コンポーネントをModalにロードするには、CSSをJQueryと同じように変更しますか?

import React, { Component } from 'react'; 
import { Grid, Row, Col, Button } from 'react-bootstrap/lib' 
import './Login.css' 

import LoginModal from '../LoginModal/LoginModal' 

class Login extends Component { 

    openLoginModal(){ 
    console.log('openLoginModal'); 
    // showLoginForm(); 
    } 

    openRegisterModal(){ 
    console.log('openRegisterModal'); 
    // showRegisterForm(); 
    } 

    render() { 
    return (
     <Grid> 
     <Row> 
      <Col sm={4}></Col> 
      <Col sm={4}> 
      <Button bsClass="btn big-login" data-toggle="modal" onClick={this.openLoginModal}>Log In</Button> 
      <Button bsClass="btn big-register" data-toggle="modal" onClick={this.openRegisterModal}>Register</Button> 
      </Col> 
      <Col sm={4}></Col> 
     </Row> 
     <LoginModal /> 
     </Grid> 
    ) 
    } 
} 

export default Login 
+1

あなたLoginModalコンポーネントにクラスを追加することにより、非常に簡単であるべき... RegisterModal ...

を構築する必要があります... 例えばLoginModalには、クラスを設定し、レジスタを設定するか、またはモーダル内にログインし、いくつかのCSSマジックを実行する - >オーバーレイ+ショーモーダルのような小道具を渡します( – MarcelD

+0

)js以上のCSSです。それはどのようにあなたのDOMにモーダルを追加しているかに依存します。 – alireza

+0

ここをクリックしてください:https://www.creative-tim.com/product/login-and-register-modal これを実装しようとしましたが、JQueryを使用して状態を変更しています。私は何が私を悩ませているのか分からないが、私はそれをReactでどうやって行うのか分からない。私はImのようにReactにはとても新しいと言います。 – Ragnar

答えて

1

実際には、モーダルの表示と非表示にCSSを使用する必要はありません。 JSXでインライン条件式を使用することができます。

まずあなたが次に

import React, { Component } from 'react'; 
import { Grid, Row, Col, Button } from 'react-bootstrap/lib' 
import './Login.css' 

import LoginModal from '../LoginModal/LoginModal' 
import RegisterModal from '../RegisterModal/RegisterModal'; 

class Login extends Component { 
    constructor() { 
    super(); 
    // create state properties to record open/close for each modal 
    this.state = { 
     loginOpen: false, 
     registerOpen: false 
    }; 
    } 
    // toggle your state 
    openLoginModal(){ 
    this.setState({ loginOpen: true, registerOpen: false }); 
    } 

    openRegisterModal(){ 
    this.setState({ loginOpen: false, registerOpen: true }); 
    } 

    render() { 
    // `{ true && <div /> }` will render div if true 
    return (
     <Grid> 
     <Row> 
      <Col sm={4}></Col> 
      <Col sm={4}> 
      <Button bsClass="btn big-login" data-toggle="modal" onClick={this.openLoginModal}>Log In</Button> 
      <Button bsClass="btn big-register" data-toggle="modal" onClick={this.openRegisterModal}>Register</Button> 
      </Col> 
      <Col sm={4}></Col> 
     </Row> 
     { this.state.loginOpen && 
      <LoginModal /> 
     } 
     { this.state.registerOpen && 
      <RegisterModal /> 
     } 
     </Grid> 
    ) 
    } 
} 
関連する問題