0

React-Native에서 사용되는 기본 UI 구성 요소에 문제가 있습니다. 상황은 안드로이드에서 기존의 기능적으로 완성 된 레이아웃을 가지고있어서 반응 적 네이티브 뷰에서 재사용해야합니다. (안드로이드)기본 Android UI 구성 요소가 업데이트되지 않습니다.

기존 레이아웃 :

  • 가이 업데이트
  • 한 번 수행 로딩 레이아웃을 보여 주면서
  • 이 API를 호출을 수행하는 RecyclerView을 가진 로딩 레이아웃이 Recycler는 로딩 - 레이아웃을 표시하고 숨 깁니다
  • 은 네이티브 환경에서 완벽하게 작동합니다.

이 기존의 레이아웃을 노출하고 반작용 - 네이티브 docs에 의해 말대로 내가 한에서 그것을 사용합니다. 기존 레이아웃이 닫히고 그대로 작동하므로 속성, 콜백 또는 이벤트 노출이 필요하지 않았습니다.

반작용 네이티브 전망 :

  • 실제로 기존 레이아웃의 초기 로딩 레이아웃을 표시하고 문서
  • 에서 설명한 바와 같이 기존의 레이아웃을 가져 간단한 도면
  • 이다

데이터가로드 될 때 문제가 발생합니다. 디버깅을 사용하면 레이아웃을 업데이트하기 위해 코드가 실행되지만 시각적으로 표시되지는 않습니다. 화면을 다시 그리며로드 된 데이터가있는 RecyclerView를 보여주는 스크롤 제스처를 수행 할 때까지로드 레이아웃이 계속 표시됩니다. 마치 RecyclerView가 이미 있지만 표시되지 않은 것처럼 말입니다.

누가 문제가 될 수 있는지 알고 있습니까?

미리 감사합니다!

답변

0

시도는이 기능을 추가, 당신은 disered iew에 base_svg 변경 :

base_svg.post(measureAndLayout); 

확인하는 경우 :이 방식으로 작동 화면 통화에 새로운 정보를 추가 한 후

private final Runnable measureAndLayout = new Runnable() { 
     @Override 
     public void run() { 
      base_svg.measure(
        View.MeasureSpec.makeMeasureSpec(base_svg.getWidth(), View.MeasureSpec.EXACTLY), 
        View.MeasureSpec.makeMeasureSpec(base_svg.getHeight(), View.MeasureSpec.EXACTLY)); 
      base_svg.layout(base_svg.getLeft(), base_svg.getTop(), base_svg.getRight(), base_svg.getBottom()); 
     } 
    }; 

을 추가하거나 제거하는 새보기를 렌더링합니다.

솔직히 이유는 모르겠다. 하지만이 일은 나를 위해. 나는 반작용이 반응을 원할 때 당신이 렌더링하도록 강요한다고 생각한다. 자세한 내용은 issue을 확인하십시오.

관련 문제