Это выглядит довольно хорошо для меня :
Общая проблема при создании динамических веб-страниц (где контент получен из базы данных, системы управления контентом или внешнего источника например, RSS-канал) заключается в том, что входной текст может быть слишком длинным и привести к разрыву макета страницы.
Одним из решений является усечение текста так, чтобы он соответствовал странице. Это звучит просто, но часто результаты не ожидаются из-за того, что слова и предложения отключены в неподходящих точках.
blockquote>
Это на самом деле работает, и состояние будет корректно обновляться, но FlatList - нет, поскольку он перерисовывается только при изменении this.state.data
. Если вы хотите обновить FlatList другим состоянием или реквизитом, вам необходимо использовать опору extraData
.
<FlatList
data={this.state.data}
keyExtractor={ (index) => index.toString() }
renderItem={ ({item}) => this._renderItem(item) }
extraData={this.state.checked} // this is the magic
/>
Предоставление уникальных ключей для TouchableOpacity
компонентов
См. Это руководство https://reactjs.org/docs/lists-and-keys.html#extracting-components-with-keys [ 111]