Я хотел бы изменить значение моего массива для отображения нового массива перед рендерингом. Я использую componentWillMount, чтобы сначала вызвать мою функцию. Моя функция изменяет массив в функции
import recipeData from '../Helpers/RecipeData'
componentWillMount(){
this._selectRicipe()
}
constructor(props) {
super(props)
this.state = {
myRecipeData: recipeData
}
}
_selectRicipe(){
for (let i = 0; i < recipeData.length; i++) {
for (let j = 0; j < this.props.listIngredients.length; j++) {
if (this.props.listIngredients[j].name == recipeData[i].type) {
newData = []
console.log(this.props.listIngredients[j].name)
newData = recipeData[i].name
this.setState({ myRecipeData: newData })
console.log("new RecipeData 1 : " + this.state.myRecipeData[i].name)
}
}
}
}
render() {
console.log("..New..recipe.. " + this.state.myRecipeData[0].name);
return (
<FlatList
data={this.state.myRecipeData}
keyExtractor={(item) => item.id.toString()}
renderItem={({ item }) => <RecipeDesc recipeData={item} />}
>
</FlatList>
)
}
В мой компонент RecipDesc я получаю данные, фактически я могу получить значения первого неизмененного массива, который я пытался отправить в новый массив, так как другой просмотр с MaybeМне нужно использовать асинхронную операцию?
Спасибо