Skip to content

Commit

Permalink
Fix merge conflict.
Browse files Browse the repository at this point in the history
# Conflicts:
#	CHANGELOG.md
  • Loading branch information
markrickert committed Nov 12, 2023
2 parents 880b132 + 671e6bf commit e819396
Show file tree
Hide file tree
Showing 6 changed files with 10 additions and 5 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@ and adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

- Added Fabric support for iOS and Android

## [1.6.3] - 2023-11-09

- Changes for RN 0.73 support
- https://github.com/Shopify/flash-list/pull/930

## [1.6.2] - 2023-10-19

- Move shouldRefreshWithAnchoring configuration so it is possible to disable it from outside FlashList by invalidating layout
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class AutoLayoutView(context: Context) : ReactViewGroup(context) {

/** Overriding draw instead of onLayout. RecyclerListView uses absolute positions for each and every item which means that changes in child layouts may not trigger onLayout on this container. The same layout
* can still cause views to overlap. Therefore, it makes sense to override draw to do correction. */
override fun dispatchDraw(canvas: Canvas?) {
override fun dispatchDraw(canvas: Canvas) {
fixLayout()
fixFooter()
super.dispatchDraw(canvas)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ FlashList can appear to be slower than FlatList in dev mode. The primary reason

The following metrics can be used for profiling the list's overall performance:

- **blank area - a size of a visible blank area on scroll.** Use the built-in [`onBlankArea`](/usage#onBlankArea) event to get it reported. You can also use this event for tracking this metric in production. Alternatively, you can use [react-native-performance-lists-profiler](https://shopify.github.io/react-native-performance/docs/guides/react-native-performance-lists-profiler/) package which also comes with a Flipper plugin.
- **blank area - a size of a visible blank area on scroll.** Use the built-in [`onBlankArea`](/usage#onblankarea) event to get it reported. You can also use this event for tracking this metric in production. Alternatively, you can use [react-native-performance-lists-profiler](https://shopify.github.io/react-native-performance/docs/guides/react-native-performance-lists-profiler/) package which also comes with a Flipper plugin.
- **TTI - time-to-interactive of the list.** Comes along with blank area as part of [react-native-performance-lists-profiler](https://shopify.github.io/react-native-performance/docs/guides/react-native-performance-lists-profiler/) package. This is a great option for local profiling - however, we do not recommend using it currently in production.
- **FPS - frames per second.** For both native and JS FPS, you can either use the built-in performance monitor or we recommend [this](https://github.com/bamlab/react-native-performance) opensource plugin. Using native profilers in Xcode and Android Studio is a yet-another option but they track only the native FPS.

Expand Down
2 changes: 1 addition & 1 deletion documentation/docs/guides/layout-animation.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ title: LayoutAnimation

[`LayoutAnimation`](https://reactnative.dev/docs/layoutanimation) is a popular way how to animate views in React Native.

FlashList does support `LayoutAnimation`s but you need to call [`prepareLayoutAnimationRender()`](/usage#prepareforlayoutanimationrender) before React Native's [`LayoutAnimation.configureNext`](https://reactnative.dev/docs/layoutanimation#configurenext). `prepareLayoutAnimationRender` is an instance method, so you have to keep a reference to your `FlashList` instance via the [`ref`](https://reactjs.org/docs/refs-and-the-dom.html) prop:
FlashList does support `LayoutAnimation`s but you need to call [`prepareForLayoutAnimationRender()`](/usage#prepareforlayoutanimationrender) before React Native's [`LayoutAnimation.configureNext`](https://reactnative.dev/docs/layoutanimation#configurenext). `prepareForLayoutAnimationRender` is an instance method, so you have to keep a reference to your `FlashList` instance via the [`ref`](https://reactjs.org/docs/refs-and-the-dom.html) prop:

```tsx
// This must be called before `LayoutAnimation.configureNext` in order for the animation to run properly.
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@shopify/flash-list",
"version": "1.6.2",
"version": "1.6.3",
"keywords": [
"react-native",
"recyclerview",
Expand Down
2 changes: 1 addition & 1 deletion src/FlashListProps.ts
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ export interface FlashListProps<TItem> extends ScrollViewProps {
/**
* Used to extract a unique key for a given item at the specified index.
* Key is used for optimizing performance. Defining `keyExtractor` is also necessary
* when doing [layout animations](https://flash-list.docs.shopify.io/guides/layout-animation)
* when doing [layout animations](https://shopify.github.io/flash-list/docs/guides/layout-animation)
* to uniquely identify animated components.
*/
keyExtractor?: ((item: TItem, index: number) => string) | undefined;
Expand Down

0 comments on commit e819396

Please sign in to comment.