我如何调用/执行外部功能组件的功能?

时间:2019-11-20 11:52:32

标签: javascript reactjs react-native axios

我有一个名为Loader的自定义组件:

export const ModalLoader = props=>{
  const {
    loading,
    ...attributes
  } = props;

  const [isModalOpened, setModal] = useState(props)
  const closeModal = ()=>{
    setModal({loading:false})
  }

  return(
    <Modal
      transparent={true}
      animationType={'none'}
      visible={isModalOpened.loading}
    >
      //my Loader view
    </Modal>
  )
}

我想在closeModal()实例中执行axios函数,因为我的axios不是react component,所以我在尝试此操作时得到了error代码:

AxiosHttp.interceptors.response.use((res)=>{
  //tried to call closeModal()
  ModalLoader.closeModal()
  CustomLog(res.data, 'Interceptor')
  return res.data;
},(err)=>{
  CustomLog(err, 'Interceptor Error')
  if(err.message == 'Network Error'){
  return Promise.reject(err)
})

export default AxiosHttp

错误详细信息:

enter image description here

是否可以从closeModal()实例调用axios

1 个答案:

答案 0 :(得分:0)

我建议使用上下文。然后,您可以在其他任何组件中使用