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クリシュナ:
shouldComponentUpdate
sideEffects.Itを行うためのものではありませんパフォーマンス上の利益のために小道具の変更のカウントをレンダリングする減速機に使用されています。shouldComponentUpdateはtrueまたはコンポーネントが再描画するかどうかを判断するfalseを返します。
あなたは使用することができますcomponentDidUpdate
小道具の変更が反映されたりした後、その火災をcomponentWillReceiveProps
小道具を反映する前にどの火災
私は使用をお勧めしますcomponentDidUpdate
ように
componentDidUpdate = (prevProps, prevState) => {
if (this.props.data.length !== this.state.data.length) {
this.setState({
data: nextProps.data
})
}
}