簡體   English   中英

如何獲取我的React Native Flatlist來重新加載領域數據更新?

[英]How do I get my React Native Flatlist to reload on realm data updates?

我正在使用從領域數據庫中獲取的數組來繪制任務平面表,但是,當我更改數據庫中的內容時,除非離開頁面,否則列表不會重新呈現。 而且我不確定如何指示它,如果我一直在使用redux,我會將其狀態作為額外數據,但是在這里我不確定該怎么做。

一些代碼片段:

  async componentWillMount() {
try {
  let realm = await Realm.open({
    schema: [TaskSchema]
  });
  this.setState({ realm });
} catch (err) {
  console.log(err);
  console.log('we screwed boys');
}

我如何不離開頁面就更新數據庫:

onDeleteClick = () => {
const realm = this.state.realm;
realm.write(() => {
  let completedTasks = this.state.realm.objects('Task').filtered('isComplete = true');
  realm.delete(completedTasks);
});

render()中的平面列表聲明:

let tasks = null;
if (this.state.realm) {
  tasks = this.state.realm.objects('Task');
}
return (
  <View style={styles.backgroundStyle}>
    <FlatList
      data={tasks}
      renderItem={this.renderTasks}
      keyExtractor={(item) => item.title}
    />

編輯:注意-它確實從數據庫中正確刪除了項目,該列表只是不知道要重新呈現,而且我也不知道如何指示它

您能否在刪除任務后嘗試再次設置領域對象,然后它應該重新呈現列表

 onDeleteClick = () => {
      const realm = this.state.realm;
      realm.write(() => {
        let completedTasks = this.state.realm
          .objects("Task")
          .filtered("isComplete = true");
        realm.delete(completedTasks);

        this.setState({
          realm, // set realm object using setState to re render the list.
        });
      });
    };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM