Как защитить пользователя React Native FlatList от вздутия памяти приложений из-за увеличения данных о состоянии? - PullRequest
0 голосов
/ 20 сентября 2019

Я новичок в React Native и FlatList, и все примеры и учебники, которые я могу найти, являются очень простыми и не отвечают на мой вопрос, а именно: можно ли FlatList получать динамические данные без увеличения памятиприложение.Если я храню данные в массиве data, и этот массив является частью состояния компонента, который использует FlatList, то добавление динамических данных к этому data не будет масштабироваться и будет занимать всю памятьприменение.Другими словами, если у меня есть такой компонент, как:

const MyApp = () => {
  const [data, setData] = useState([]);

  useEffect(() => { 
     ....load 10 objects from network... 
     setData(data.concat(newData)); 
  }, []);

  const onPress = () => {
   ....load 10 more....
   setData(data.concat(newData));
  }

  return (
    <View>
     <FlatList data={data} .../>
     <Button onPress={onPress} title="Load More..."/>
    </View> 
  )
}

, мне кажется, что он мне не подходит.Массив data увеличивает потребление памяти приложением при каждом нажатии кнопки Load More....

Я ошибаюсь?Если no, то какова лучшая практика для решения этой проблемы?Если yes, почему я не прав?

Заранее большое спасибо.

P.

...