私は反応コンポーネントPを持っています。 AとB. Bのレンダリングに使用するいくつかの値を取得するために、Aによって変更できるPの状態Sがありますが、それは関数を介してBのレンダリングに使用される値を取得するために使用されます。非常に不均衡な列を持つ表を何らかの形でレンダリングする値になります。これはBの最初のレンダリングでは起こりません。だから、Sが変更されるたびに "B"を "リセット"するか、またはアンマウントするにはどうすればよいですか?反応コンポーネントのアンインストール...どこかから
注:ここでは
var UsersTable = React.createClass ({
getInitialState: function() {
return {sel_Options: this.props.ini_Options,
sel_valueArray: this.props.ini_valueArray
};
},
handleSelectChange (value) {
console.log('You\'ve selected:', value);
this.setState({sel_valueArray: value });
},
render: function() {
return(
<div>
<div>
<Select name = "form-field-name" options = {this.state.sel_Options} value = {this.state.sel_valueArray} multi={true} onChange={this.handleSelectChange}/>
</div>
<div>
<BootstrapTable data={this.props.ini_usersTbl} striped search cellEdit={ cellEditProp } height='600px' insertRow={ true } scrollTop={ 'Bottom' } multiColumnSearch={ true } options={ options } headerStyle = {{ background: '#ebf5ff'}} >
{
rAll_column_components(compsMap, this.state.sel_valueArray)
}
</BootstrapTable>
</div>
</div>
);
}
});
、sel_Optionsに提示することができ、すべての列名を持つ配列を持っている:私はAのコードとB
おかげ
コードを変更することはできませんテーブル。 sel_valueArrayには、ユーザーが実際に表に表示している列名があります。 rAll_column_components(compsMap、this.state.sel_valueArray)は、テーブルに列を表示するために使用されるすべてのコンポーネントを取得します。
別のノート:
<TableHeaderColumn dataField={'lastName'} width={'180'} dataSort headerAlign='left' editable={JSON.parse('{"type": "textarea" }')}>{'Last Name'}</TableHeaderColumn>
と毎回、それが各列の元の値とその配列を返し呼ばれる:
rAll_column_componentsは、その要素が見えるTableHeaderColumnコンポーネントのリストを返しています。ただし、表はこれらの列を表示できますが、「幅」プロパティーが完全に変更され、列がかなり不均衡に見えます。
状態を更新するたびにforceUpdate()を使用します。またはshouldComponentUpdateを実装します。私はあなたが状態に割り当てる価値は複雑だと思うので、それを更新と比較することはできません。 –
実際にはっきりしない、いくつかのコードを投稿できますか? – Aaron