React Native - FlatList - Внутреннее состояние

Я использую FlatList, чтобы реализовать Store View в моем приложении, ориентированном на реакцию.

Я получаю элементы магазина из вызова API, который выполняется на этапе цикла componentDidMount моего компонента, а затем сохраняю его в моем локальном state.

Я нашел в документации Flatlist это предложение:

Внутреннее состояние не сохраняется при прокрутке содержимого за пределы окна рендеринга. Убедитесь, что все ваши данные сохранены в данных элемента или во внешних хранилищах, таких как Flux, Redux или Relay.

Мне было интересно, что это значит. Я просто использую свой местный штат, и, похоже, он работает нормально. Есть ли в этом какие-то проблемы? Не могли бы вы предоставить мне больше информации об этом конкретном моменте?

Кроме того, если у вас есть какие-либо советы или рекомендации по поводу моего варианта использования, не стесняйтесь добавлять их.

Спасибо за ваше время.


person Louis Lecocq    schedule 22.02.2018    source источник


Ответы (1)


Допустим, у вас есть Contacts компонент с компонентом отображения Contact FlatList для каждого элемента в ваших данных. Допустим также, что эти контакты можно выбирать. Если вы сохраните это значение выбора (например, selected: true) во внутреннем состоянии Contact компонентов, а не в состоянии Contacts компонентов, когда элемент прокручивается, он будет размонтирован, а состояние этого элемента будет сброшено. Если вы сохраните его в глобальных данных, он будет создан с последним состоянием.

Надеюсь, я смог объяснить.

person bennygenel    schedule 22.02.2018
comment
не могли бы вы предложить документацию, в которой показано, как переместить Contacts или любой соответствующий пример из внутреннего состояния в состояние компонента? - person Daniel; 06.12.2019