#react-native #react-navigation #react-native-flatlist
#react-native #react-навигация #react-native-flatlist
Вопрос:
Как перезагрузить экран, когда веб возвращается на экран во второй раз (в навигаторе вкладок):
export default class BasketTab1 extends React.PureComponent {
componentDidMount () {
this.getProductsRequest();//retur
}
getProductsRequest(){
}
render() {
return (
<View style={{margin:5}}>
<FlatList
data={this.state.products}
renderItem={this.renderItem}
keyExtractor={this._keyExtractor}
extraData={this.state}
...)
}
}
Я пытаюсь
установите для дополнительных данных логическое значение.
extraData={this.state.refresh}
И переключает значение логического состояния, когда я хочу обновить список
constructor(props) {
super(props);
this.state = {
refresh : false
}
}
componentDidMount () {
this.didFocusListener = this.props.navigation.addListener(
'didFocus',
() => { this.setState({
refresh: !this.state.refresh
}) },
);
this.getProductsRequest();
}
Но никакой перезагрузки / ничего не происходит!
Как я могу это сделать?
Ответ №1:
Вы пробовали это?
this.didFocusListener = this.props.navigation.addListener(
'didFocus',
() => { this.setState({
refresh: !this.state.refresh, products: [...this.state.products]
}) },
);