@observer
export class BookshelfComponent extends React.Component<{}, {}> {
@observable
libraryData: ILibraryBook[] = [{isSelected: false}, {isSelected: false}];
bookItemPress(index: number) {
this.libraryData[index].isSelected = !this.libraryData[index].isSelected;
}
render() {
return (
<FlatList
data={this.libraryData.slice()}
renderItem={this.renderItem}
numColumns={3}/>
);
}
renderItem = ({item, index}) => {
return (
<LibraryItemComponent
bookLibraryItem={item}
itemClick={() => {
this.bookItemPress(index)
}}
/>
);
}
}
when i press a flatlist item to call bookItemPress
function, the render
function does not run again;
but when i push an item to the libraryData ,it works well!
thanks!!