UNPKG

5.48 kBMarkdownView Raw
1# [4.10.0-rc3]
2
3## Bug fixes
4
5Pages should maintain their original previous page id [2afcb6](https://github.com/ionic-team/ionic/commit/2afcb6c80b167b95beb79641504d9237b498dbef), fixes [#19351](https://github.com/ionic-team/ionic/issues/19351)
6
7Dismiss overlay component on unmount, [3c2694](https://github.com/ionic-team/ionic/commit/3c26946d47b37d42dfaa3294cfb6bf8f0ef11aa4), fixes [#19377](https://github.com/ionic-team/ionic/issues/19377)
8
9Render first route even if url is same, fixes [#19392](https://github.com/ionic-team/ionic/issues/19392)
10
11## Breaking Changes
12
13### Events have been updated to use proper types from React
14
15The types for events (such as `onClick`) were not typed correctly prior to RC3. Before, they were the normal browser events, but now they are the proper React Synthetic events. Therefore, you might have type errors that need to be remedied:
16
17```typescript
18function handleClick(e: MouseEvent) {
19 ...
20}
21```
22
23Will need to become:
24
25```typescript
26function handleClick(e: React.MouseEvent) {
27 ...
28}
29```
30
31Some Ionic components have the option to pass the event to them (like `IonPopover`). For these, you can access the `nativeEvent` property on the React synthetic event.
32
33### Components with href attributes and the new routerLink prop
34As of RC3, components that use the href prop (`IonButton`, `IonItem`, etc..), no longer run these links through the router. As a result, page transitions are no longer applied to these links. To maintain page transitions, use the new `routerLink` prop instead. The href prop should be used when you want to enforce a full browser transition on the page, or when you need to link to an external resource.
35
36# [4.9.0-rc2]
37
38## Features
39
40Dependencies upgraded to work with Ionic Core 4.9
41
42## Bug Fixes
43
44IonPage should be root page for Ionic Pages - fixes [#19146](https://github.com/ionic-team/ionic/issues/19146)
45
46## Breaking Changes
47
48### IonPage should be the parent component of Ionic Pages
49
50`IonPage` is a specialized component that is meant to be the parent container for an Ionic Page, which typically consists of `IonHeader` and `IonContent` components. Previous to RC3, the `@ionic/react-router` library would add this component itself, but this caused some confusion around how `IonPage` should be used and why it was even available. Devs would sometimes include `IonPage` themselves as the parent of their pages, but this could cause issues with page transitions.
51
52To clear up this confusion, we decided to stop adding the `IonPage` component in the framework and offer guidance that devs should use `IonPage` as the base component in their Ionic Pages.
53
54Apps migrating from a previous version to RC2 will need to make sure `IonPage` is used as the root component for every Ionic page. Ionic Pages typically have `IonHeader` and `IonContent` tags and are the components rendered by the routes. The starters used a React Fragment before, and this fragment needs to be changed to `IonPage`. Any other uses of `IonPage` should probably be removed.
55
56Example:
57
58An Ionic Page before RC2 most likely has a React fragment as its root:
59
60``` jsx
61<>
62 <IonHeader>/* header stuff */</IonHeader>
63 <IonContent>/* content stuff */</IonContent>
64</>
65```
66
67In RC2 and greater, the fragment should be updated to an IonPage component:
68
69``` jsx
70<IonPage>
71 <IonHeader>/* header stuff */</IonHeader>
72 <IonContent>/* content stuff */</IonContent>
73</IonPage>
74```
75
76### ViewManager
77
78The `<ViewManager />` component is no longer needed and can be removed. The views inside of an `<IonRouterOutlet>` are now managed by an internal stack manager and don't need the explicit ViewManager anymore.
79
80`ViewManager` is now a noop component and shows a warning message while in development. `ViewManager` will be removed in the final release of @ionic/react.
81
82## Other Changes
83
84### Tab Route Setup
85
86Prior to RC2, tabs had to specify a tab name in their routes which helped with the page transitions. This was set up in the form of a regex named parameter like so:
87
88`<Route path="/:tab(tab1)" component={Tab1} exact={true} />`
89
90This is no longer a requirement. Routes setup this way will continue to work, but the complexity in the path can be removed and updated to:
91
92`<Route path="/tab1" component={Tab1} exact={true} />`
93
94# [4.8.0-rc1]
95
96## Features
97
98Dependencies upgraded to work with Ionic Core 4.8
99
100## Bug Fixes
101
102Attributes applied to Ionic Components now show up in the DOM and are visible in devtools
103
104`IonBackButton` now preserves the query string parameters from the referring page: https://github.com/ionic-team/ionic/pull/19150/commits/2e2068ee5ea467636b4454e1106df1d8f05230d2
105
106Supporting class attributes as well as className attributes for Ionic React components: https://github.com/ionic-team/ionic/pull/19150/commits/bef7bc8b1b190bf704fd6960711672bfd7aedfa6, closes [#19107](https://github.com/ionic-team/ionic/issues/19107)
107
108Exporting the previously missing isPlatform method from core: https://github.com/ionic-team/ionic/pull/19150/commits/fc817471582785a00db77ee922a73ccfda42b870, closes [#19122] https://github.com/ionic-team/ionic/issues/19122
109
110# [4.8.0-rc0]
111
112Welcome to React RC!
113
114### Breaking Changes
115
116There is a new `ViewManager` component exported from @ionic/react-router. If you have an `IonRouterOutlet` component outside of a tabs component, you will need to wrap the `IonRouterOutlet` with the `ViewManager` to preserve the transitions and state management that the IonRouterOutlet provide on its own in the betas.
\No newline at end of file