The components are a mess

The POS react components are extremely difficult to work with, cause lots of unexpected behaviors and do not behave resonably.

Issues:

  • Text wrapping not possible via Text component?
  • Elements not composable. Section Area inside a Stack breaks it completely. I’ve faced many more, but forgot to mention. This one issue got me over the line to make a post.
  • Flex behavior is limiting. Not acting like CSS.
  • Text input fields are weird and do not lose focus when tapping outside causing the Keyboard to be left open on the screen. On android you can hide the keyboard via Hardware button, but on iOS there is nothing you can do.

The cart subscription sends more updates than needs to:

  const cart = useCartSubscription();

The carts reference probably gets modified internally despite the fact that the actual cart data does not change.. Thus, triggering renders.

I guess react-native is used under the hood and it has it’s quirks. Even so, react native feels way way better than using these POS components. Whenever I need to do something with POS extensions, I need a couple of deep breaths.