node.jsアプリケーションのテンプレートライブラリとしてreact.jsを使用しています。私は反応コンポーネントのjsx構文を使用しています。私はentities/jsxファイルをレンダリングする/エンティティのようなルートを持っています(ビューです)。 entities.jsxファイルに次のコードがあります。私はコード内でonclickhandlerを呼び出そうとしていますが、React.renderを使って明示的にレンダリングしていませんが、localhost:/エンティティを押したときにコンポーネントがブラウザに表示されますが、onclickハンドラは起動しません。私がオンラインに見てきたReact.js onclickハンドラが動作しない
var MyComponent = React.createClass({
alertMessage: function() {
alert(this.props.name);
},
render: function() {
return (
<div onClick={this.alertMessage}>
Hello {this.props.name}
</div>
);
}
});
例は、HTML内に埋め込まJSXスクリプトやHTMLのdivタグ内にレンダリングコンポーネントをレンダリングするが、私は私のNode.jsアプリケーションでreact.jsを使用しようとしています。私はhtmlタグ内でレンダリングしたくないが、コンポーネントはURLに基づいてレンダリングし、動的でなければならない。
私のノードアプリケーションのindex.jsファイルに次のコードスニペットがある。ビューのエンティティをレンダリングするindex.jsファイルを通して、ビュー 'エンティティ'にヒットしました。
app.get('/entities', function(req, res) {
res.render('entities', {
title: 'Entities - Turkey Disclosure',
name: 'Entities',
selection: 'header-entities'
});
});
これは動作しません。どうやらそれはES6の構文にのみ当てはまります – medha
あなたのサンプルはあなたの期待どおりに動作します(https://jsfiddle.net/69z2wepo/39094/) –
私はReact.renderを使用していません。私がそうすると、ReferenceError:document is definedが定義されていないというエラーが出る – medha