// @flow import * as React from 'react'; import {IconButton, List, withTheme} from 'react-native-paper'; import type {CustomTheme} from "../../../managers/ThemeManager"; import type {group} from "../../../screens/Planex/GroupSelectionScreen"; type Props = { theme: CustomTheme, onPress: () => void, onStarPress: () => void, item: group, height: number, } type State = { isFav: boolean, } class GroupListItem extends React.Component { constructor(props) { super(props); this.state = { isFav: (props.item.isFav !== undefined && props.item.isFav), } } shouldComponentUpdate(prevProps: Props, prevState: State) { return (prevState.isFav !== this.state.isFav); } onStarPress = () => { this.setState({isFav: !this.state.isFav}); this.props.onStarPress(); } render() { const colors = this.props.theme.colors; return ( } right={props => } style={{ height: this.props.height, justifyContent: 'center', }} /> ); } } export default withTheme(GroupListItem);