値と、私は次のようしているが、このような初期のページロードでのAjaxのデータをフェッチするコンポーネント反応リアクト:再レンダリングは、コンポーネントの新しいAJAXクエリパラメータが
var MyTable = React.createClass({
getInitialState: function() {
return {
rows: [
['Something, ' '],
['Something else', ' '] ]
};
},
componentDidMount: function() {
var self = this;
$.get('http://domain.com/api/Orders/from-date/' + fromDate + '/to-date/' + toDate,
function(result) {
var newState = React.addons.update(this.state, {
rows: {
0: {
1: { $set: result }
}
}
});
this.setState(newState);
}.bind(this)
);
},
render: function() {
return (
<Table
rowHeight={50}
rowGetter={(rowIndex) => {
return this.state.rows[rowIndex];
}}
rowsCount={this.state.rows.length}
onRowClick={this._onRowClick}
width={1000}
height={342}
groupHeaderHeight={40}
headerHeight={0}>
<ColumnGroup label="Products"
fixed={true}>
<Column label=""
width={col1}
dataKey={0} />
<Column label=""
width={700}
dataKey={1} />
</ColumnGroup>
</Table>
);
}
});
MyTable = React.createFactory(MyTable)
React.render(MyTable(),
document.getElementById('my-table-container')
);
を私の問題は、日付があるとき、私はコンポーネントを再レンダリングすることができないということです日付ピッカーから変更され、Ajaxの日付パラメータが変更され、これらの新しい値を持つ別のリクエストが行われる必要があります。私が試した何
:
$(function(){
$("#calculate-orders").on("click",function(){
fromDate = document.getElementById("from-date").value;
toDate = document.getElementById("to-date").value;
React.render(MyTable(),
document.getElementById('my-table-container')
);
})
})
が、何も起こるようです。これをどうすれば解決できますか?そして、JavaScript/jsxだけで、流行の必要なく、そして最も重要なことに、node.jsを使わずに行うことができますか?
ps。この例ではFixedDataTableを使用しています。
イベントパラメータを使用してdatepickerをコンポーネントに結びつけることはできません。イベントを受け取るたびに、コンポーネントのアップデート状態が表示されます.wiコンポーネントが再レンダリングされます。 –
残念ながら、私はそれが動作するとは思わない?私の知る限り、それは親子関係があった場合にのみ働くでしょうか? https://facebook.github.io/react/tips/communicate-between-components.html - しかし、この場合私はMVCにアプリケーションを構築しました。反応を知るようになるにつれて、私は別のものしかし、日付ピッカー(日付から)と選択ドロップダウン(言語)は親反応コンポーネントではなく、単純なHTMLマークアップです。 :/ – Dac0d3r
私はコンポーネントがイベントをリスンしていると思っていました。コンポーネントがリッスンしているイベントをdatepickerが呼び出すようにしました。親の子コンポーネントは必要ありません。 https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events –