2016-08-22 31 views
8

Tôi đang che phủ thành phần Modal sau trong ứng dụng iOS của mình trong khi đợi một số yêu cầu không đồng bộ để quay lại.Phương thức phản hồi gốc không đóng

<Modal transparent={true} visible={this.state.visible}> 
    <View style={{flex: 1}}> 
     <ActivityIndicator color="white" size="large"/> 
    </View> 
</Modal> 

this.state.visible được đặt thành false khi tất cả các yêu cầu đã trả về. Tuy nhiên, khoảng 50% thời gian các phương thức vẫn còn trên màn hình vô thời hạn, ngay cả sau khi các yêu cầu đã trở lại. Tôi đã đăng nhập this.state.visible ở đầu hàm render của tôi và nó là false như mong đợi, nhưng phương thức này không biến mất. Bất kỳ suy nghĩ nào về lý do tại sao điều này có thể xảy ra?

+0

Bạn đã tìm thấy giải pháp nào chưa? Có vẻ như vấn đề vẫn tồn tại –

+0

Bạn đã tìm thấy giải pháp nào chưa? –

+1

Bạn có thể đăng toàn bộ mã của tệp không? –

Trả lời

1

Có lẽ đó là vấn đề tương tự mà tôi đang gặp phải ở đây.

tôi nhận được vấn đề này khi đóng cửa một phương thức và mở khác, một số người đang nhận được điều này với một phương thức và một cảnh báo ...

https://github.com/facebook/react-native/issues/10471

Còn bây giờ, giải pháp là một thời gian chờ trước khi hành động (600ms nên giải quyết nó).

+0

Thêm một ví dụ mã sẽ là tuyệt vời ;-) – Fabien

+0

Đó là một cái gì đó rất có khả năng thay đổi trong nhiều tình huống khác nhau. Trong trường hợp của tôi, sử dụng 'redux-saga' tôi đặt' độ trễ hiệu suất (600) 'trước hành động thay đổi chế độ hiển thị phương thức. Nếu bạn chỉ cần thiết lập trạng thái 'bạn có thể làm một cái gì đó như' setTimeout (() => this.setState ({visible: true}), 600) '. Nhưng tôi thành thật nghĩ rằng bạn nên xem xét mã của bạn nói chung, có lẽ có một cách tốt hơn. –

Các vấn đề liên quan