状態を更新するときに React コンポーネントが再レンダリングされない
P粉277464743
P粉277464743 2023-08-20 10:08:52
0
2
454
<p>この問題にはもっと良い解決策があると思います: 私の猫オブジェクトの配列を含むファイルがあります: </p> <pre class="brush:php;toolbar:false;">var category = [ { 「id」: 1、 "名前" : "工場", 「選択済み」: false }、 { 「id」: 2、 "名前" : "電話", 「選択済み」: false }、 { 「id」: 3、 "名前" : "コンピュータ", 「選択済み」: false }、 { 「id」: 4、 "名前" : "ラチュンコウォシュク", 「選択済み」: false }、 { "id": 5、 "名前" : "フィナンセ", 「選択済み」: false } ];</pre> <p>私は次のものを持っています: </p> <pre class="brush:php;toolbar:false;"><ul className="category"> {this.state.categories.map((item,index) => <li onClick={()=>this.filterCategory(item,index)} key={item.id} className={item.selected? 'active' : ''}>{item.name}< /li> )} </ul></pre> <p>私の filterCategory 関数:</p> <pre class="brush:php;toolbar:false;">filterCategory(item,index) { this.state.categories[インデックス].selected = !this.state.categories[インデックス].selected; this.forceUpdate(); }</pre> <p><code>forceUpdate()</code> を使用せずにこれを実装する方法を知っていますか? Stack で <code>this.forceUpdate()</code> の使用は避けるべきだと読みました。 </p>
P粉277464743
P粉277464743

全員に返信(2)
P粉001206492

ステータスを直接変更しないでください

setState メソッドを使用して状態を変更します。

いいねを押す +0
P粉638343995

setState を使用すると、自動的に再レン​​ダリングがトリガーされるため、状態を直接変更せず、setState を使用して状態を更新します。 リーリー

ドキュメントによると:

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート