反応を使用してアプリをセットアップしようとしていますが、モーダル以外はすべてうまくいっています。次のリンクからこのコードをそのまま使用しましたが、エラーが発生しました。https://github.com/facebook/react/blob/master/examples/jquery-bootstrap/js/app.js
このフィドルhttp://jsbin.com/eGocaZa/1/edit?html,css,output を試してください
コールバック関数は「this」にアクセスできないようです。コンソールに「これ」を記録すると、ウィンドウ オブジェクトが記録されます。
openModal: function() {
this.refs.modal.open();
},
私はこれを渡し、機能しているように見える新しい関数を返しましたが、それは正しくないようで、jsfiddleでうまく機能していませんでした。ローカルでモーダルを起動しましたが、閉じる機能で同じ問題に遭遇しました。どんな助けでも大歓迎です。ありがとう!
var Example = React.createClass({
handleCancel: function() {
if (confirm('Are you sure you want to cancel?')) {
this.refs.modal.close();
}
},
render: function() {
var modal = null;
modal = (
<BootstrapModal
ref="modal"
confirm="OK"
cancel="Cancel"
onCancel={this.handleCancel}
onConfirm={this.closeModal}
title="Hello, Bootstrap!">
This is a React component powered by jQuery and Bootstrap!
</BootstrapModal>
);
return (
<div className="example">
{modal}
<BootstrapButton onClick={this.openModal(this)}>Open modal</BootstrapButton>
</div>
);
},
openModal: function(obj) {
return function(){obj.refs.modal.open();}
},
closeModal: function() {
this.refs.modal.close();
}
});