IonicReactv6와 setupIonicReact가 간지러운 곳.
나는 정말 Ionic이 이전과 비교해 아주 좋은 것이 되었다는 것을 느꼈다.
코도바 파생만 지원하는 앙글라는 리액트나 베일에 관계없이 믹스앱을 개발할 수 있다.현재 준비된 것은 명령선 도구와 구성 요소일 뿐, 이미 상당히 날씬해졌다.
그러나 이에 대응하는 JS라이브러리(프레임)가 늘어나고 그에 따른 유지보수 규모도 늘어 위원회가 어려움을 느끼면서 운용하고 있는 게 아닌지 제멋대로 추측했다.갱신의 속도를 보면 수정 하나하나가 미세한 오류를 남기는데 이것이 바로 이야기라고 생각한다.
꼭 해야 할 사소한 것들이 많기 때문에 큰 문제 등은 잠시 무시하는 것이 세상의 상사인가.
이번에는 Ionic Reactv6로 업그레이드를 통해 setup Ionic React가 가려운 곳을 일시적으로 해결하는 방법을 쓰고 싶습니다.
해결하고 싶다
서로 다른 페이지에 따라 다음과 같은 규격 등이 있다
숨기고 싶어
NavigationBottomBar
희망
スワイプ
귀환문제점
IonicReactv6 에서
react-router v6
에 대응하지 않음여기까지.
(Ionic 측의 코드를 관찰하여 루트 역사에서 페이지 애니메이션을 실현하는 등 상하 문화를 관찰하기 때문에 대응하는 난이도를 이해할 수 있다)
react-router v6가 파괴적인 변경을 했다는 것을 아는 사람이 있을 것 같습니다.그러나 아주 좋은 실현, 각 단점의 재활동의 실현도 있다.즉, 임의의 단점 내의 페이지 간의 실현이 가능하다고 말할 수 있다.
이것은 가능하며, 상기 탭 사이에 탭을 숨기고 교환을 통해 탭을 되돌려주는 처리를 쉽게 수행할 수 있습니다.
해결책
라벨과 교환 등 로고를 메모리 관리하다.모든 부모 페이지에서 설정합니다.
Jootai 사용
이번에는 다크 모드 등의 설정을 생략하도록 허락해 주세요.
swipeBackEnabled
종IonicConfig
상속import { IonicConfig } from '@ionic/core';
/**
* 参考URL:
* https://ionicframework.com/docs/ja/react/config
* @interface
*/
export interface PlatformConfig extends IonicConfig {
isSubPage?: boolean;
isDarkMode?: boolean;
};
import { atom } from 'jotai';
import { PlatformConfig } from 'models/platform';
/**
* @interface
*/
export const curPlatformConfigState = atom<PlatformConfig>({
isSubPage: false,
isDarkMode: false,
swipeBackEnabled: false,
});
IonTabBar
의 hidden
속성에서 수시로 숨기기
const config = useAtomValue(curPlatformConfigState);
setupIonicReact(config);
....
<IonTabs>
<IonRouterOutlet>
...
</IonRouterOutlet>
<IonTabBar
slot={"bottom"}
hidden={config.isSubPage}
>
...
</IonTabBar>
</IonTabs>
Ionic 라이프 사이클
useIonViewWillEnter
을 사용하여 실제 재생이 시작되기 전에 필요한 설정태그에 빈칸으로 답장하기 싫어요.
useIonViewWillEnter(() => {
// 初期設定
setPlatformConfig({
isSubPage: false,
swipeBackEnabled: false,
});
});
ex. HogeDetailPage.tsx태그를 숨기고 목록 페이지로 공백으로 돌아가기
useIonViewWillEnter(() => {
// 初期設定
setPlatformConfig({
isSubPage: true,
swipeBackEnabled: true,
});
});
react-router v6에 해당하면
IonicReactV6를 계속 유지한다면 react-router v6의 대응은 없을 것 같습니다.
며칠 전1.0에 대한 업데이트가 있었지만 대응이 없었기 때문에 대응은 V7(올가을)일 것으로 보인다.
또한 임의의 단점에 라벨 간의 처리를 넣기 때문에 각 모페이지에 설정할 필요가 없다.
각 부모 페이지에 설치된 쓰레기는 영향 범위가 비교적 작은 스팸 코드만 초래하기 때문에 임의의 시간에 삭제하면 된다
Reference
이 문제에 관하여(IonicReactv6와 setupIonicReact가 간지러운 곳.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/kbk/articles/8041ae2e4402e2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)