Я использую React Native Material. Нижние вкладки навигации работают нормально, переходя с одной вкладки на другую. В первый раз componentwillreceiveprops загружает данные и появляется предупреждение,
Но когда вкладки переходят от одной к другой, предупреждение появляется до тех пор, пока вкладка не будет нажата дважды.
мой код ниже:
<View style = {{flex: 0.9}}>
{this.state.activeTab === 0 ? <Tab1/> :this.state.activeTab === 1 ? <Tab2/> : this.state.activeTab === 2 ? ...... }
</View>
<View style = {{flex: 0.1,justifyContent:"center"}}>
<BottomNavigation
activeTab = {this.state.activeTab}
labelColor = {myColors.spaceGrey}
rippleColor = "lightgrey"
style = {styles.bottomNavigation}
onTabChange = {this.handleTabChange}>
<Tab
barBackgroundColor = {myColors.white}
label = "Tab1"
icon = {<Icon size = {window.width/17.1} color = {myColors.spaceGrey} name = "film" />}
/>
<Tab
barBackgroundColor = {myColors.white}
label = "Tab2"
icon = {<Icon size = {window.width/17.1} color = {myColors.spaceGrey} name = "buysellads" />}
/>
...........
</BottomNavigation>
И мой компонент Tab1 с componentWillReceiveProps находится здесь:
componentWillReceiveProps(nextProps){
const propsData = nextProps
const propsDataTwo = propsData
ListOfObjects = propsDataTwo.data.listofobjects
if (ListOfObjects != undefined){
if (ListOfObjects != [] && ListOfObjects != 0) {
this.setState({
emptyText: false,
loading: false
},()=>{alert("Tab1")})
} else {
this.setState({
emptyText: true,
loading: false
})
}
}
}
компонент получит реквизит, аналогичный Tab2
Можно вкратце понять, просматривается ли файл Zif ниже: - Найти здесь
Пожалуйста, дайте мне знать, какую ошибку я здесь сделал



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Может это поможет https://reactjs.org/blog/2018/06/07/you-probably-dont-need-dehibited-state.html
На самом деле он говорит: Не полагайтесь на componentwillreceiveprops, метод может вызываться столько раз, сколько мы прогнозируем, но он может не обновлять свойства столько раз, сколько он вызывается. Потому что, если полученный реквизит не меняется, он вызывается, но на самом деле ничего не делает.
Поскольку вы не спрашиваете решения, я просто остановлюсь на этом, дайте мне знать, нужны ли какие-то исправления или что-то еще неясно