私はAndroidでReact Native(0.29.0)を使用しており、自分のページにListViewコンポーネントを持っています。私はリストからアイテムを取り除くことができるようにしたい。私はネイティブに反応するのはかなり新しいです。ここReact native:ListVIewから適切なアイテムを削除する
は、リストビューコンポーネントである:ここ
<ListView
key = {items} //An array of strings(same as the datasource)
dataSource = {this.state.datasource}
renderRow = {(rowData, sectionID, rowID) => <Item data={rowData} onPress={this.deleteItem}/>}
/>
項目を削除する方法であって
deleteItem(rowData, sectionID, rowID)
{
//items.splice(rowID ,1);
this.setState({datasource: ds.cloneWithRows(items)});
}
項目を削除するためにROWIDを使用して試みたが、それはリストから最初の要素を削除しリストが再レンダリングされます。 console.warnを使用してrowIDにあったものを確認し、「未定義」であることを示します。
私はいくつかの同様の質問をオンラインで読んで、私はキーを使用する必要があると言った、私はどのようにキーを使用するか完全にはわからない。deleteItemメソッドのキーを渡し、再び、定義されていない "
deleteItemメソッド内から削除する必要がある行を特定するのが難しいと思っています。誰かが正しい経路で私を導くことができれば、本当に役に立ちます。
はどうもありがとう、それは私の問題を解決した、私は引数を渡すために()=>を使ってメソッドを作成しなければならないことを知らなかった。 – Ajith
問題はありません。そうする必要があります。それ以外の場合、deleteItemメソッドは引数なしで呼び出されないためです。 onPressは- コンポーネントに属していますが、これはリストビューとは関係ありません。 –
Jakkra