shouldComponentUpdateで使用する場合resetingドラッグ/ドロップネイティブドラッグ-flatlistを反応させます

Saikatサハ:

私は私が使用しています反応し、ネイティブアプリケーションに取り組んでいます、リストの1のためのネイティブ・ドラッグ-flatlistを反応させ、残念ながら私は別のコンポーネント上の他のリスト項目からデータ操作のためのコンポーネントでshouldComponentUpdateを使用する必要がありますが、後に追加しますshouldComponentUpdate、私のドラッグ/ドロップ私は、ドラッグアンドドロップすることができことができます動作していないされていませんが、それはすぐに元の位置にセットにリスト全体をリセットします。

私は既存の機能を壊したくないようshouldComponentUpdateとともにドラッグ/ドロップ仕事をするためにいくつかの提案で私を助けてください

コード

<DraggableFlatList
 scrollPercent={5}
 data={testData}
 renderItem={this.renderItem}
 keyExtractor={item => `item-${testkey}`}
 onMoveEnd={({ data }) => {
   this.setState({ data });
 }}
/>

public shouldComponentUpdate(nextProps, nextState) {
  if (nextProps.data.length !== nextState.data.length) {
     this.setState({
       data: nextProps.data
     })
   }
   return true
}
vamshiクリシュナ:

shouldComponentUpdatesideEffects.Itを行うためのものではありませんパフォーマンス上の利益のために小道具の変更のカウントをレンダリングする減速機に使用されています。shouldComponentUpdateはtrueまたはコンポーネントが再描画するかどうかを判断するfalseを返します。

shouldComponentUpdate

あなたは使用することができますcomponentDidUpdate小道具の変更が反映されたりした後、その火災をcomponentWillReceiveProps小道具を反映する前にどの火災

私は使用をお勧めしますcomponentDidUpdateように

componentDidUpdate  = (prevProps, prevState) => {
  if (this.props.data.length !== this.state.data.length) {
     this.setState({
       data: nextProps.data
     })
   }

}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=29131&siteId=1