React Native рендеринг компонента - PullRequest
0 голосов
/ 01 октября 2018

У меня есть FlatList, который отображает элемент

<FlatList
        data={this.state.color}
        renderItem={this.displayColor}
        horizontal={true}
        keyExtractor={item => item.color}
    />

displayColor

displayColor= ({ item }) => {
    let btncolor = 'white'
    if(item.color == this.state.fcolor){
        btncolor = 'red'
    }
    return(
        <Color color={item.color} btncolor ={btncolor} colorChosen ={() =>this.chooseColor(item)}/>
   )         
}

chooseColor

chooseColor(item){
   this.setState({
       fcolor:item.color
   })
  this.displayColor({item}) // NOT WORKING
}

Моя задача - показать текущую выбранную кнопку вКомпонент Color с красным цветом, вышеприведенный код выполняет свою работу, но ему нужно отобразить func displayColor, чтобы он проверял состояние с помощью item.color после функции executeColor setstate fcolor, но я не смог вызвать функцию displayColor дляобновите функцию ChooseColor, как это сделать, или есть простой способ выполнить задачу.Спасибо

1 Ответ

0 голосов
/ 01 октября 2018

Вы должны передать дополнительные данные в свой FlatList

<FlatList
        data={this.state.color}
        renderItem={this.displayColor}
        horizontal={true}
        extraData={this.state.fcolor} //Add this line to your FlatList
        keyExtractor={item => item.color}
    />
...