-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
결제완료후 완료 response까지 흰화면 지속되는 현상 #174
Comments
response를 받아온다는 것이 어떠한 과정에 해당되나요? |
loading 프로퍼티엔 이미 로딩을 하는 컴포넌트를 할당하였습니다! 분석해본결과 결제완료 callback을 호출하였지만 위와같은 warning이 뜨면서 웹뷰에 렉이걸리는듯합니다. callback이후 IMP.Payment 컴포넌트를 없애고 커스텀 로딩을 화면 전체에 띄웠더니 해결되었습니다. return isPaymentComplete ? (
<View
style={{
flex: 1,
alignItems: 'center',
justifyContent: 'center',
}}>
<View
style={{
paddingBottom: 52,
}}>
{/* Your Custom Loading, 저의경우에는 Lottie를 사용하였습니다. */}
</View>
</View>
) : (
<View
style={{
justifyContent: 'center',
flex: 1,
}}>
<IMP.Payment
userCode={IMP_USER_CODE}
loading={<Loading />}
data={payment}
callback={onPaymentComplete}
/>
</View>
);
발생 경로
@anymate98 감사합니다. |
결제 뒤에 반응이 느린 현상은 아직까지 확인된 적이 없는 것으로 기억하는데 한번 확인해보겠습니다. |
다른 이슈있으면 또 리포트하겠습니다 :) 늘 항상 감사합니다 |
+) 추가적인 이슈 리포트합니당
Container파일 const onPaymentComplete = useCallback(
async (res) => {
setIsPaymentComplete(true); // 경고 발생하지않고 딜레이없지만 서버로 데이터전송오류시 예외처리 할수없음
const responseFromServer = await requestPost(url, body);
// after process
setIsPaymentComplete(true); // �서버로 데이터를 보내는 작업을 끝내고 IMP.Payment를 unmount할시 경고 발생함.
},
[],
); View파일 return isPaymentComplete ? (
<View
style={{
flex: 1,
alignItems: 'center',
justifyContent: 'center',
}}>
<View
style={{
paddingBottom: 52,
}}>
{/* Your Custom Loading, 저의경우에는 Lottie를 사용하였습니다. */}
</View>
</View>
) : (
<View
style={{
justifyContent: 'center',
flex: 1,
}}>
<IMP.Payment
userCode={IMP_USER_CODE}
loading={<Loading />}
data={payment}
callback={onPaymentComplete}
/>
</View>
);
async/await에 의존성이 있는것처럼 보이는데 혹시 어떤 이유일까요?? |
callback 파라미터가 결제가 끝난 후(웹뷰를 다 사용한 후)에 전달되는 구조기 때문에 Promise를 사용해 구현되었습니다. 아마 이 부분에서 의존성이 생기는 것으로 파악이 됩니다. |
넵 감사합니다 @anymate98 |
현재 다날 간편결제를 사용하고있고 테스트용으로 테스트도중 발생한 문제입니다.
package.json
response 를 받아올때까지 저희가 UI를 띄울수있도록 조치가 필요할거 같습니다.
경고문구는 아래와같이 옵니다.
Did not receive response to shouldStartLoad in time, defaulting to YES
매초 어떤 함수를 부르고있는거같은데 IMP.Payment 컴포넌트의 프로퍼티 type에서는 안잡히네요
어떻게하면될까요? 결제완료 전까지 하얀화면이 너무 오래나옵니다 2~3초정도
The text was updated successfully, but these errors were encountered: