Küçük bir test için express.js ve react.js'yi kullanıyorum. ,İzomorfik ReactJS - hem sunucu tarafı hem de istemci tarafı için kod nasıl paylaşılır?
görüşlerini/Todo.jsx
var React = require('react');
var TodoApp = React.createClass({
getInitialState: function() {
return {
counter: 0
};
},
increment: function() {
this.setState({ counter: this.state.counter+1 });
},
render: function() {
return (<div>
<div>{this.state.counter}</div>
<button onClick={this.increment}>Increment!</button>
</div>);
}
});
module.exports = TodoApp;
Ama düğme tıklandığında counter
arttı asla Aşağıda benim kod tepki olduğunu. increment
işlevi hiçbir zaman çağrılmadı.
Neden? Neyi yanlış yaptım?
DÜZENLEME:
tarayıcımda HTML çıktı:
<html><head></head>
<body><div class="container">
<div>0</div>
<button>Increment!</button>
</div>
</body>
</html>
sen hiç html başlığında hiçbir js olduğunu görebileceğiniz gibi. Bunun beco mu? HTML'yi, sunucu tarafında react.js ile oluşturuyorum.
var express = require('express');
var reactViews = require('express-react-views');
var app = express();
// View engine setup.
app.set('views', __dirname + '/views');
app.set('view engine', 'jsx');
app.engine('jsx', reactViews.createEngine());
// Set root.
app.use(express.static(__dirname + '/views'));
// Get routes.
var todo = require('./routes/todo');
// Respond with "todo" app on the todo page.
app.use('/todo', todo);
var server = app.listen(3000, function() {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
yolları/router.js
var express = require('express');
var router = express.Router();
router.get('/', function (request, response) {
response.render('Todo', {}); // 'Todo' is 'views/Todo.jsx'
});
module.exports = router;
Sorun istemci tarafında ve sunucu tarafı arasındaki paylaşılmayan tepki olduğunu düşünüyorum app.js. şu anda sadece sunucu tarafında çalışır. Nasıl paylaşılacağı ve müşteri tarafında da nasıl çalışabilirim?
Herhangi bir fikrin var mı?
sadece (bu Artım! –
Amit
Sanırım kodumda bir sorun var. lütfen yukarıdaki düzenlememe bakın. – laukok
Evet sağa! bu örneğe bakın https://github.com/mhart/react-server-example – Anonymous0day