>source

iOS에서 모달이 열려있을 때 "react-native-loading-spinner-overlay"가 작동하지 않습니다. 모달 표시를 false로 설정하면 작동합니다. (안드로이드는 어떤 경우에도 잘 작동합니다.) 그것이 내 코드입니다.

When modal is open, if I click upload button on modal,

 _onUpload = () => {
    this.setState({ isLoading: true }) //-----> Loading spinner is not working.
  }

If I make like this

 _onUpload = () => {
    this.setState({ modalVisible:false })  //-----> After modal turns off
    setTimeout(() => {
      this.setState({ isLoading: true })   //----> Loading spinner works.
    }, 500);
  }

render

 render() {
    return (
      <View>
        <Spinner
          visible={this.state.isLoading}
          textContent={'Loading...'}
          textStyle={{ color: 'white' }}
        />
      </View>
    )
  }

나는 'react-native-modal'에서 모달을 사용했습니다.

import Modal from 'react-native-modal';

<Modal
  isVisible={modalVisible}
  backdropColor="#B4B3DB"
  backdropOpacity={0.8}
  animationIn="zoomInDown"
  animationOut="zoomOutUp"
  animationInTiming={1000}
  animationOutTiming={1000}
  backdropTransitionInTiming={1000}
  backdropTransitionOutTiming={1000}>
  <View style={styles.modalBody}>
    <TouchableOpacity onPress={() => this._onUpload()} >
      <Text>Upload</Text>
    </TouchableOpacity>
  </View>
</Modal>

iOS에서만 작동하지 않는 이유는 무엇입니까?

모달이 열려있을 때 iOS에서 작동하도록하는 방법은 무엇입니까?

  • 답변 # 1

    iOS의 다른 모달에서는 하나의 모달을 사용할 수 없습니다. 두 번째 모달을 열기 전에 첫 번째 모달을 닫아야합니다.

    처럼,

    setstate({isLoading:false,modalVisible:true})
    
    

    또는 삼항을 사용할 수 있습니다.

    {modalVisible?
    <View style={styles.modalBody}>
    <TouchableOpacity onPress={() => this._onUpload()} >
      <Text>Upload</Text>
    </TouchableOpacity>
    
    

    : 없는}

  • 이전 Python 목록 함수 변수가 잘못 할당 됨
  • 다음 javascript - 동적으로 생성 된 개체 키가 업데이트되지 않음