Обновить флажок NativeBase Firebase List - PullRequest
0 голосов
/ 19 декабря 2018

Я много видел об этом в интернете, но нет четкого решения.

У меня есть некоторые данные, поступающие с firebase, например:

getSuggestedList() {
    var suggestedList = this;

    firebase
      .database()
      .ref("/athleteList/")
      .orderByChild("suggested/")
      .equalTo(true)
      .on("child_added", function(suggestedListData) {
        var newData = [...suggestedList.state.suggestedListViewData];
        newData.push(suggestedListData);
        suggestedList.setState({ suggestedListViewData: newData });
      });
  }

Itзатем визуализируется ниже с помощью этой функции:

renderRow(suggestedListData) {
    return (
      <ListItem>
        <CheckBox
          checked={suggestedListData.selected}
          onPress={() => {
            suggestedListData.selected = !suggestedListData.selected;
          }}
        />
        <Body>
          <Text>{suggestedListData._value.name}</Text>
        </Body>
      </ListItem>
    );
  }

И в основной части кода render ():

<ListView
   enableEmptySections
   dataSource={this.ds.cloneWithRows(
   this.state.suggestedListViewData
   )}
   renderRow={this.renderRow.bind(this)}
/>

Я бы предположил, где я установил флажок, чтобы он равнялся предложилListData.выберите и затем измените это значение с помощью onPress, это просто не происходит в представлении.Значение действительно меняется, я вижу его в консоли, но оно не обновляет элемент.

Пожалуйста, кто-нибудь может помочь.

...