Как обновить данные из API при получении новых данных? - PullRequest
3 голосов
/ 04 февраля 2020

В реагирующем режиме я могу обновлять данные на моем экране из API при получении с помощью реагирующего стека-навигатора, но когда я использую реагирующий-ящик-навигатор, я не могу. Я пробовал много раз с использованием слушателя 'willFocus'. Это не сработало. Как я могу сделать этот процесс?

            catId:null,
            subCatByCatId:[],
            loading:false,
            catTitle:'',
             cat_list:[]
        }

  async componentDidMount(): void {
this.setState({loading:true});
const {navigation}=this.props;
this.WillFocus=navigation.addListener(
    'willFocus',
    async(payload)=>{
this.setState({
    catId:this.props.navigation.state.params.catId
},async ()=>{
    const {catId}=this.state;
    const uri = "https://bilettm.com/api/v1/category/"+catId+"/events"
const apiCall = await fetch(uri)
    const categories = await apiCall.json();
    this.setState({
        subCatByCatId:categories.sub_cats,
        loading:false,
    })

})

    }

);



  }

  componentWillUnmount(): void {
        this.WillFocus.remove();

  }
...