2016-06-20 3 views
0

ReactJSの学習を始めたばかりなので、onClickハンドラを動作させることができません。ReactJS + Express.js + React-Bootstrap:ブートストラップボタンのonClickハンドラが動作しません

私はExpress.jsアプリケーションジェネレータのチュートリアルに続き、次のコードで終わりました。

誰かが間違っていることを教えてください。

//app.js file 
 

 
var express = require('express'); 
 
var path = require('path'); 
 

 
// routes 
 
var launch = require('./routes/launch'); 
 

 
var app = express(); 
 

 
// view engine setup 
 
app.set('views', __dirname + '/views'); 
 
app.set('view engine', 'jsx'); 
 
app.engine('jsx', require('express-react-views').createEngine()); 
 

 
app.use(bodyParser.json()); 
 
app.use(bodyParser.urlencoded({ extended: false })); 
 
app.use(cookieParser()); 
 
app.use(express.static(path.join(__dirname, 'public'))); 
 

 
// attach url to routes 
 
app.use('/', launch);

//launch.js 
 

 
var express = require('express'); 
 
var router = express.Router(); 
 

 

 
router.get('/', function(req, res, next) { 
 
    res.render('launch', {}); 
 
}); 
 

 
module.exports = router;

//launch.jsx code 
 

 
var React = require('react'); 
 
var DefaultLayout = require('./layouts/default'); 
 

 
// bootstrap 
 
import {Button, Grid, Row, Col, Clearfix, Image, FormGroup, InputGroup, FormControl} from 'react-bootstrap'; 
 

 
var LaunchView = React.createClass({ 
 
    render: function() { 
 
    return (
 
     <FormGroup> 
 
     <InputGroup> 
 
     <FormControl id="launch-email" type="email" placeholder="Email" /> 
 
     <InputGroup.Button> 
 
     <Button id="launch-submit" className="button-green" onClick={this.handleSubmit}>Submit</Button> 
 
     </InputGroup.Button> 
 
     </InputGroup> 
 
     </FormGroup> 
 
    ); 
 
    }, 
 
    handleSubmit: function(){ 
 
    alert("woot"); 
 
    } 
 
}); 
 

 
module.exports = LaunchView;

+0

https://codepen.io/erichardson30/pen/aZmQBmこれは私にとってうまくいきます。何の問題がありますか? – erichardson30

+0

@ erichardson30私はReact.render();を使用していません。 ExpressJsはルートを使用します。私はちょうど私の質問に私のルートファイルを追加しました。 –

+0

ルートに移動したときにコンポーネントがレンダリングされていますか? – erichardson30

答えて

関連する問題